Index channel technology

ABSTRACT

Index channel technology, in which input to display an index channel is received from a user identity and an index channel definition for the user identity is accessed. The index channel definition defines a sequence of content preview files for content files organized within channels. Display of the index channel is controlled by displaying the content preview files in the sequence defined by the accessed index channel definition and, during display of the content preview files in the sequence defined by the accessed index channel definition, a selection is received to view a content file that corresponds to a content preview file being displayed in accordance with the accessed index channel definition. Display of the content file is controlled and display of the index channel is returned at a position within the sequence of content preview files that corresponds to the received selection.

FIELD

The present disclosure generally relates to index channel technology.

BACKGROUND

Content viewers today are exposed to an overwhelming amount ofinformation and are challenged by the degree of interaction andpersonalization needed to manage this massive amount of information. Inan era of digital communications, a user may be confused by an array oftechnology including traditional analog televisions, DVRs (Digital VideoRecorders), PVRs (Personal Video Recorders), media centers, EPG(Electronic Program Guide)-based systems, Internet-related content, andtraditional remote control devices.

SUMMARY

In one aspect, a method of providing an index channel within a contentdelivery network includes receiving, from a user identity, input todisplay an index channel associated with a content delivery network and,based on the input to display the index channel associated with thecontent delivery network, accessing an index channel definition for theuser identity. The index channel definition defines a sequence ofcontent preview files for content files organized within channelsavailable through the content delivery network. The method alsoincludes, based on the accessed index channel definition, controllingdisplay of the index channel by displaying the content preview files inthe sequence defined by the accessed index channel definition and,during display of the content preview files in the sequence defined bythe accessed index channel definition, receiving a selection to view acontent file that corresponds to a content preview file being displayedin accordance with the accessed index channel definition. The methodfurther includes, based on the received selection to view the contentfile that corresponds to the content preview file being displayed inaccordance with the accessed index channel definition, controllingdisplay of the selected content file and returning to display of theindex channel at a position within the sequence of content preview filesdefined by the accessed index channel definition that corresponds to thereceived selection.

Implementations may include one or more of the following features. Forexample, the method may include accessing a generic index channeldefinition that is used for all users of the content delivery network.In addition, the method may include, after completion of a first contentpreview file in the sequence defined by the accessed index channeldefinition, controlling display of an interface element that enables theuser identity to provide input to view a first content file thatcorresponds to the first content preview file and, for a predefinedperiod of time after completion of the first content preview file,monitoring for input to view the first content file that corresponds tothe first content preview file. The method also may include, based onthe monitoring, determining that input to view the first content filethat corresponds to the first content preview file was not receivedwithin the predefined period of time and, based on the determinationthat input to view the first content file that corresponds to the firstcontent preview file was not received within the predefined period oftime, identifying a second content preview file that follows the firstcontent preview file in the sequence defined by the accessed indexchannel definition, removing display of the interface element thatenables the user identity to provide input to view the first contentfile that corresponds to the first content preview file, and controllingdisplay of the identified second content preview file.

In addition, the method may include, during display of the selectedcontent file, receiving input to return to the index channel and, basedon the input to return to the index channel, returning to display of theindex channel at the position within the sequence of content previewfiles defined by the accessed index channel definition that correspondsto the received selection. The method further may include detectingcompletion of the selected content file and, based on the completion ofthe selected content file, returning to display of the index channel atthe position within the sequence of content preview files defined by theaccessed index channel definition that corresponds to the receivedselection.

In some implementations, the method may include detecting completion ofthe selected content file and, based on the completion of the selectedcontent file, identifying a next content file organized in a channelwith the selected content file and controlling display of the nextcontent file. In these implementations, the method may include, duringdisplay of the next content file, receiving input to return to the indexchannel and, based on the input to return to the index channel,returning to display of the index channel at the position within thesequence of content preview files defined by the accessed index channeldefinition that corresponds to the received selection.

In some examples, the method may include, based on the receivedselection to view the content file that corresponds to the contentpreview file being displayed in accordance with the accessed indexchannel definition, storing, in electronic storage, a position withinthe sequence of content preview files defined by the accessed indexchannel definition at a time of the selection. In these examples, themethod may include accessing, from electronic storage, the storedposition within the sequence of content preview files defined by theaccessed index channel definition at the time of the selection and usingthe stored position within the sequence of content preview files definedby the accessed index channel definition at the time of the selection toreturn to the position within the sequence of content preview filesdefined by the accessed index channel definition that corresponds to thereceived selection.

In some implementations, the position within the index channel may beencapsulated in a location address of the selected content file. Inthese implementations, the method may include identifying the positionwithin the index channel encapsulated in the location address of theselected content file and using the identified position to return to theposition within the sequence of content preview files defined by theaccessed index channel definition that corresponds to the receivedselection.

Also, the method may include identifying a next content preview filethat follows the selected content preview file in the sequence ofcontent preview files defined by the accessed index channel definitionand returning to display of the index channel by displaying the nextcontent preview file. Further, the method may include determining aposition within the index channel based on the received selection andcontent files displayed subsequent to the received selection. Thedetermined position may correspond to a next unviewed content previewfile that represents the content preview file in the sequence that mostclosely follows the selected content preview file and does notcorrespond to any of the content files displayed subsequent to thereceived selection. The method may include returning to display of theindex channel by displaying the next unviewed content preview file.

The method may include accessing an index channel definition defined byan operator of the content delivery network. The method also may includeaccessing an index channel definition defined by a content curatorassociated with multiple channels within the content delivery network.The index channel definition may represent an index channel for themultiple channels within the content delivery network defined by thecontent curator.

In some examples, the method may include accessing an index channeldefinition related to sets of channels within the content deliverynetwork. In these examples, the method may include displaying contentpreview files from different sets of channels within the contentdelivery network such that a first content preview file associated witha first set of channels is immediately followed by a second contentpreview file associated with a second set of channels that is differentthan the first set of channels.

In some implementations, the method may include accessing an indexchannel definition related to multiple channels within the contentdelivery network. In these implementations, the method may includedisplaying content preview files from different channels within thecontent delivery network such that a first content preview fileassociated with a first channel is immediately followed by a secondcontent preview file associated with a second channel that is differentthan the first channel.

In addition, the method may include accessing an index channeldefinition related to a single channel within the content deliverynetwork. The method may include displaying content preview files fromthe single channel within the content delivery network such that onlycontent preview files that correspond to content files organized in thesingle channel are displayed.

In some examples, the method may include identifying one or moreattributes of the user identity, accessing one or more rules related todefining index channels, analyzing the one or more rules related todefining index channels with respect to the one or more attributes ofthe user identity, and determining the index channel definition based onthe analysis. In these examples, the method may include determiningwhich content preview files to include in the index channel anddetermining a sequence for displaying the determined content previewfiles in the index channel. Further, in these examples, the method mayinclude identifying subscriptions the user identity has made forchannels in the content delivery network and identifying a market withinwhich the user identity is located, analyzing the one or more rulesrelated to defining index channels with respect to the identifiedsubscriptions and the identified market, and determining the indexchannel definition based on the identified subscriptions and theidentified market.

The method may include receiving, from a remote control device operatedby the user identity, one or more commands selecting to view the contentfile that corresponds to the content preview file being displayed inaccordance with the accessed index channel definition. The method alsomay include receiving, from a remote control device operated by the useridentity, one or more commands selecting to return to the index channeland, based on the one or more commands selecting to return to the indexchannel, returning to display of the index channel at the positionwithin the sequence of content preview files defined by the accessedindex channel definition that corresponds to the received selection. Themethod further may include receiving, from a remote control deviceoperated by the user identity, one or more commands navigating throughthe index channel and, based on the one or more commands navigatingthrough the index channel, updating display of the index channel inaccordance with the navigation through the index channel.

In some implementations, the index channel may be a first index channel,the index channel definition may be a first index channel definition,and the sequence of the content preview files may be a first sequence offirst content preview files. In these implementations, the method mayinclude receiving, from the first index channel, a selection to view asecond index channel that is different than the first index channel andthat is nested within the first index channel and, based on theselection to view the second index channel, accessing a second indexchannel definition. The second index channel definition may define asecond sequence of second content preview files for content filesorganized within channels available through the content deliverynetwork. Also, in these implementations, the method may include, duringdisplay of the second content preview files in the second sequencedefined by the second index channel definition, receiving a selection toview a second content file that corresponds to a second content previewfile being displayed in accordance with the second index channeldefinition and, based on the received selection to view the secondcontent file that corresponds to the second content preview file beingdisplayed in accordance with the second index channel definition,controlling display of the second content file. Further, in theseimplementations, the method may include returning, from the secondcontent file, to display of the second index channel at a positionwithin the second sequence of second content preview files defined bythe second index channel definition that corresponds to the selection toview the second content file and returning, from the second indexchannel, to display of the first index channel at a position within thefirst index channel that corresponds to the selection to view the secondindex channel.

In addition, the index channel may include at least two levels ofadditional index channels nested within the index channel. The methodmay include navigating through the at least two levels of additionalindex channels nested within the index channel by stepping throughconsecutive levels of the at least two additional index channels nestedwithin the index channel and then returning to the index channel bystepping through the consecutive levels of the at least two additionalindex channels in a reverse order.

In some examples, the method may include controlling display of theindex channel on a television that is controlled by a remote controldevice and receiving, from the remote control device, the selection toview the content file. In these examples, the method may includecontrolling display of the selected content file on the television,receiving, from the remote control device, a command to return todisplay of the index channel, and, based on the command to return todisplay of the index channel, returning to display, on the television,of the index channel at the position within the sequence of contentpreview files defined by the accessed index channel definition thatcorresponds to the received selection.

In some implementations, the method may include controlling display ofthe index channel on a mobile device that is controlled by a touchscreen interface and receiving first input applied to the touch screeninterface to select the content file. In these implementations, themethod may include controlling display of the selected content file onthe mobile device, receiving second input applied to the touch screeninterface to return to display of the index channel, and, based on thesecond input applied to the touch screen interface to return to displayof the index channel, returning to display, on the mobile device, of theindex channel at the position within the sequence of content previewfiles defined by the accessed index channel definition that correspondsto the received selection.

In some examples, the method may include controlling display of theindex channel on a computer that is controlled by a mouse and keyboardand receiving, from at least one of the mouse and keyboard, theselection to view the content file. In these examples, the method mayinclude controlling display of the selected content file on thecomputer, receiving, from at least one of the mouse and keyboard, acommand to return to display of the index channel, and, based on thecommand to return to display of the index channel, returning to display,on the computer, of the index channel at the position within thesequence of content preview files defined by the accessed index channeldefinition that corresponds to the received selection.

In another aspect, a system includes at least one computer and at leastone computer-readable medium coupled to the at least one computer havinginstructions stored thereon which, when executed by the at least onecomputer, causes the at least one computer to perform operations. Theoperations include receiving, from a user identity, input to display anindex channel associated with a content delivery network and, based onthe input to display the index channel associated with the contentdelivery network, accessing an index channel definition for the useridentity. The index channel definition defines a sequence of contentpreview files for content files organized within channels availablethrough the content delivery network. The operations also include, basedon the accessed index channel definition, controlling display of theindex channel by displaying the content preview files in the sequencedefined by the accessed index channel definition and, during display ofthe content preview files in the sequence defined by the accessed indexchannel definition, receiving a selection to view a content file thatcorresponds to a content preview file being displayed in accordance withthe accessed index channel definition. The operations further include,based on the received selection to view the content file thatcorresponds to the content preview file being displayed in accordancewith the accessed index channel definition, controlling display of theselected content file and returning to display of the index channel at aposition within the sequence of content preview files defined by theaccessed index channel definition that corresponds to the receivedselection.

In yet another aspect, at least one computer-readable storage medium isencoded with at least one computer program comprising instructions that,when executed, operate to cause a computer to perform operations. Theoperations include receiving, from a user identity, input to display anindex channel associated with a content delivery network and, based onthe input to display the index channel associated with the contentdelivery network, accessing an index channel definition for the useridentity. The index channel definition defines a sequence of contentpreview files for content files organized within channels availablethrough the content delivery network. The operations also include, basedon the accessed index channel definition, controlling display of theindex channel by displaying the content preview files in the sequencedefined by the accessed index channel definition and, during display ofthe content preview files in the sequence defined by the accessed indexchannel definition, receiving a selection to view a content file thatcorresponds to a content preview file being displayed in accordance withthe accessed index channel definition. The operations further include,based on the received selection to view the content file thatcorresponds to the content preview file being displayed in accordancewith the accessed index channel definition, controlling display of theselected content file and returning to display of the index channel at aposition within the sequence of content preview files defined by theaccessed index channel definition that corresponds to the receivedselection.

The details of one or more implementations are set forth in theaccompanying drawings and the description, below. Other potentialfeatures and advantages of the disclosure will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1, 2, 9, and 48 are diagrams of exemplary systems.

FIGS. 3-8, 11, 12, 14, 16, 26, 27, 28, 30, 32, 36, 37, and 47 areflowcharts of exemplary processes.

FIG. 10 illustrates an exemplary channel definition.

FIG. 13 illustrates an example of manual channel informationmodifications.

FIG. 15 illustrates an example of automatic detection of needed channelinformation modifications.

FIGS. 17-20 illustrate example interfaces that receive input from acontent curator in defining points of interest.

FIG. 21 illustrates an example data structure that stores point ofinterest data.

FIGS. 22-25 and 29 illustrate example interface displaying points ofinterest integrated with content defined by a channel.

FIG. 31 illustrates example data that reflects tracking of points ofinterest and responses to points of interest and statistics generatedfrom the tracking of points of interest and responses to points ofinterest.

FIGS. 33 and 34 illustrate example interfaces that receive input from auser identity to define user settings for a content presentation portal.

FIG. 35 illustrates an example content presentation portal.

FIGS. 38 and 39 illustrate example interfaces that receive input todefine an index channel.

FIG. 40 illustrates an example index channel hierarchy.

FIGS. 41-46 illustrate example displays of index channels.

Like reference numbers represent corresponding parts throughout.

DETAILED DESCRIPTION

FIG. 1 illustrates a content delivery system 100. The system 100provides support for various aspects of content delivery, such ascontent sourcing, content sorting, content monetization, contentsubscription, content delivery, and content consumption. The contentdelivery system 100 includes a content delivery network 102. The contentdelivery network 102 may be one or more public or private, wired orwireless networks, such as the Internet or a Session Initiated Protocol(SIP) network such as the PsipTN™ network offered by TelTel™. Using thesystem 100, end users 104 may view channels, for example, on atelevision 106 located in their home. Channels may be defined by endusers 104, or by “content curators” 108.

Multiple types of content, such as audio (e.g., music, podcasts), video,and still images (e.g., photographs), may be made available over thecontent delivery network 102. Licensed and license-free content may bemade available. For example, licensed content 110 may be acquired from acontent owner 112.

Content may be made available from a variety of sources. For example,Internet content may be accessed from an Internet link 114 (e.g., URL(Uniform Resource Locator)). Content may also be accessed frompeer-to-peer networks. For example, content may be accessed from one ormore BitTorrent™ clients 116 which are part of one or more BitTorrent™“swarms” 118. Content may be accessed from other sources, such as from atelevision broadcast (e.g., MSO (Multiple System Operator), cable,satellite, local) or from content (e.g., photographs, audio, previouslyrecorded video) available from devices (e.g., DVR, stereo, computer, DVD(Digital Video Disc) player) connected to a user's home network and/orlocated in a user's home.

Content curators 108 may use a content curator portal 120 to definecustom channels which may be made available for subscription by endusers 104. The content curators 108 may be commissioned to search for,select, and organize multiple types of content from various sources intochannels. Content curators 108 may, for example, organize channels bytopic or genre. Content curators 108 may, for example, select licensedcontent, license-free content, content available over the Internet, orcontent from their private collection, to name a few examples.

Channels may be offered for free to end users 104 or end users 104 maysubscribe to channels on a fee basis. Users may rate or rank channels orcontent curators based, for example, on programming selection,sequencing, and quality. Content curators 108 may be promoted, forexample, based on popularity.

Content owners 112 may be compensated for the use of licensed content110 that they own which is used in channels defined by content curators108. For example, the system 100 may provide support for digital rightsmanagement (DRM). By allowing access to their licensed content 110,content owners 112 may experience increased distribution and revenue andtargeted exposure in focused channels. Multiple revenue agreements maybe possible, such as per-use agreements, subscription revenue sharing,and advertisement revenue sharing.

A content curator 108 may work with one or more advertisers 122, such asan ad agency, to include advertisements 124 on a channel. For example,an advertisement may be displayed if a user switches a channel or when aprogram finishes. As another example, advertisements may be displayed onthe display of a remote control device, such as while a program is beingdisplayed on a television. Content curators 108, advertisers 122, andcontent owners 112 may share advertising revenue. Sharing in advertisingrevenue may provide an incentive for content curators 108 to createinteresting and popular channels. A content curator 108 may work withone or more advertisers 122 to create one or more advertisements 124which are customized and targeted for one or more particular channels.End users 104 may customize advertisement viewing preferences, such asby specifying preferred topics, preferred or excluded companies, regionpreferences, etc.

Advertisers 122 may use an advertiser portal 126 to uploadadvertisements 124 and to control advertisement publication. Advertisers122 may define and apply advertisement insertion rules to particularadvertisements 124 and/or may allow a content curator 108 to decide whenand how to insert the advertisements 124 into channels defined by thecontent curator 108. APIs (Application Programming Interfaces) may beprovided which allow advertisers 122 to enable the system 100 tointerface with standard advertisement inventory management systems toallow for control and management of advertisements 124. Variousadvertisement pricing plans may be supported, such asindividually-priced ads or bulk pricing. Other advertising features maybe included, such as online purchasing of items or providing customercontact options.

Advertisers 122, content curators 108, and content owners 112 may accessuser viewing behavior data. Advertisers 122 may access user viewingbehavior data, such as viewed channels, viewed content, viewedadvertisements, advertisement display frequency, advertisement viewedlength, user actions during advertisement display, user characteristics,advertisement and content view times, advertisement and content viewcounts, and hosting channel information, to monitor reach andperformance of advertising campaigns. Advertisements may be targeted tospecific users based on recorded user viewing behavior data. Contentcurators 108 may access user viewing behavior data to learn aboutbehaviors of end users 104 who subscribe to their channels. Contentowners 112 may access user viewing behavior data to learn about theirfan base, such as accessing information about user demographics, time ofday of access, and user actions during content display. Contentpresentation and playback may be customized and personalized for aparticular end user 104, based specifically on recorded user viewingbehavior of the particular end user 104 and generally on recorded userviewing behavior of all users.

User viewing behavior data may be captured, for example, by a mediaplayer 130 and/or an access device 132. The media player 130 and/or theaccess device 132 may play content included or ordered on a channeldefined by a content curator 108. In some implementations, the mediaplayer 130 may play content accessed (e.g., streamed or downloaded) fromthe content delivery network 102 by the access device 132. In someimplementations, the media player 130 and the access device 132 aredifferent logical functions of the same physical device. In otherimplementations, the media player 130 and the access device 132 aredifferent physical devices. In some implementations, the media player130 is a software application which may be executed, for example, on acomputing device such as a desktop or laptop computer.

In some examples, the media player 130 and/or the access device 132 maybe a dongle that plugs in to an input of a display device, such as atelevision, a computer, etc. In these examples, the dongle may be aHigh-Definition Multimedia Interface (HDMI) dongle that includes an HDMIconnector that plugs into an HDMI port of a television. The HDMI donglemay have a relatively small size and weight such that the HDMI port ofthe television supports the weight of the HDMI dongle and the HDMIdongle does not significantly diminish the aesthetic appearance of thetelevision. In addition, in these examples, the dongle may include anetwork interface that enables the dongle to access a network throughwhich content is accessible. For instance, the dongle may include Wi-Ficapability that allows the dongle to wirelessly connect to a networkthat enables access to content available on the Internet. Accordingly,the dongle may be configured to wirelessly stream content from theInternet using the Wi-Fi capability, convert the streamed content into aformat needed for an HDMI input port of a television, and output theconverted content using an HDMI output port of the dongle. The donglemay operate a mobile device-based operating system (e.g., the Androidoperating system) and the operations performed by the dongle may beperformed software (e.g., one or more applications) executed by themobile device-based operating system. The dongle may be controlled by aremote control device. The commands from the remote control device maybe received by the dongle through the network interface (e.g., from aserver in the cloud). Alternatively, the dongle may have an infrared(IR) or radio frequency (RF) interface and may receive commands directlyfrom an IR or RF-based remote control.

The media player 130 and/or the access device 132 may be connected toexternal media storage devices 134, 136 respectively. The external mediastorage devices 134, 136 may be, for example, USB (Universal Serial Bus)drives. The external media storage devices 134,136 may be used, forexample, to transfer data to/from the media player 130 or the accessdevice 132, respectively, such as to transfer data to/from a computingdevice.

The media player 130 and/or the access device 132 may communicatewirelessly with one or more remote control devices 138. The end user 104may navigate through channels and perform other functions using theremote control device 138. The remote control device 138 may communicate(e.g., using Infrared (IR) technology of radio frequency (RF)technology) with the television 106, the media player 130, and/or theaccess device 132. The remote control device 138 also may communicateover a network with the media player 130 and/or the access device 132 tocontrol functions of the media player 130 or the access device 132. Theremote control device 138 may include a small display screen thatdisplays preview content and/or advertisements.

The media player 130 and/or the access device 132 may access contentfrom the content delivery network 102 without consuming resources of acomputing device owned by the end user 104. For example, content may bestreamed or downloaded into the home of an end user 104 without usingresources of a personal computer owned by the end user 104. The mediaplayer 130 and the access device 132 may use less electricity than apersonal computer, thus reducing the electric bill of the end user 104.The media player 130 and/or the access device 132 may connect to othercomputing devices connected on a user's home network. The media player130 and/or the access device 132 may include built-in functionality tocommunicate with and download information from a peer-to-peer network,such as the BitTorrent™ swarm 118.

The end user 104 may search for and subscribe to content using anend-user content search portal 140. For example, the end-user contentsearch portal 140 may provide a directory listing of available definedchannels. The directory listing may be organized in a hierarchy ofcategories and sub-categories. A particular channel may appear in one ormore categories or sub-categories. The end-user content search portal140 may also provide a search function to allow end users to search foravailable defined channels based on a keyword search. As anotherexample, users may search for channels based on other criteria, such assorting channels based on channel or content curator popularity orranking. An end user may subscribe to a defined channel, for example, byselecting a channel link displayed in a directory listing or in a listof search results.

The end user 104 may also search for and initiate access to individualcontent items by the access device 132 using a partner site thatoperates a search engine 142. As another example, the end user 104 maysend an email which includes a content link to an email addressassociated with their access device 132 to initiate automatic access, bythe access device 132, to the content linked to by the content link. Thecontent link may refer to a content file available on the Internet, andmay be a reference to a video resource available from a streaming videowebsite. The end user 104 may send an email with an attachment to anemail address associated with the access device 132, to initiate access,by the access device 132, to the attachment. The end user 104 may use anend-user content portal 144 to search for and to select content to causethe access device 132 to access.

FIG. 2 illustrates a system 200 for content sourcing and access over acontent delivery network 202. Licensed or license-free content 204 isacquired from one or more content owners 206 or from a publiclyavailable source, such as the Internet. For example, content owners 206may transfer content over the content delivery network 202 to a contentand directory database 208. Content may also be transferred to thecontent and directory database 208 from a server system 210, such asusing a DVD or CD (Compact Disc) drive. License-free content, such aslicense-free video or podcasts, may be downloaded from the Internet andstored in the content and directory database 208. In someimplementations, some or all content may be stored in the content anddirectory database 208 as BLOBs (Binary Large Objects). In someimplementations, some or all content may be stored in the file system ofthe server system 210 and references to file system locations may bestored in the content and directory database 208.

The content and directory database 208 stores information about contentand also information about defined channels. Content curators 212 mayuse a content curator portal 214 to define channels and to managedefined channels. The content curator portal 214 may display a listingof licensed and license-free content available in the content anddirectory database 208. The content curator portal 214 may also providea search function which allows the content curator 212 to search forcontent available in the content and directory database 208 and to alsosearch for content available on the Internet, such as content availablefrom peer-to-peer networks, such as BitTorrent™, and content availablefrom streaming video sites.

The content curator portal 214 may communicate with a content curatorserver 216. For example, a channel definition defined using the contentcurator portal 214 may be sent to the content curator server 216, whichmay communicate with the server system 210 to request that the channeldefinition be stored in the content and directory database 208. Asanother example, information for existing channel definitions associatedwith a particular content curator 212 may be retrieved from the contentand directory database 208 and sent from the content curator portalserver 216 to the content curator portal 214 for display.

In some implementations, the content curator portal server 216 is onephysical server computing device and in other implementations, thecontent curator portal server 216 includes multiple physical servercomputing devices. Similarly, in some implementations, the server system210 is one physical server computing device, and in other implantations,the server system 210 includes multiple physical server computingdevices. In some implementations, multiple physical server computingdevices are used, with some or all server computing devices implementingboth the content curator portal server 216 and the server system 210. Insome implementations, one physical server computing device is used, withthe one physical server device implementing both the content curatorportal server 216 and the server system 210.

The network 202 may be one or more public or private, wired or wirelessnetworks, such as the Internet, or may be a Session Initiated Protocol(SIP) network such as the PsipTN™ network offered by TelTel™. Thenetwork 202 may include, for example, one or more of the Internet, WideArea Networks (WANs), Local Area Networks (LANs), analog or digitalwired and wireless telephone networks (e.g., a PSTN, Integrated ServicesDigital Network (ISDN), and Digital Subscriber Line (xDSL)), radio,television, cable, satellite, and/or any other delivery or tunnelingmechanism for carrying data services. The network 202 may includemultiple networks or subnetworks, each of which may include, forexample, a wired or wireless data pathway.

Content may be accessed by one or more user media player/access devices218. For example, content corresponding to a user-subscribed channel maybe automatically streamed or downloaded to the media player/accessdevice 218, in response to a user selection of a corresponding channel.As another example, a user may search for and select content for themedia player/access device 218. A user may, using a remote user device220, monitor and manage user-initiated content requests. The remote userdevice 220 may be any type of electronic device configured to exchangecommunications with the server system 210 over a network. The remoteuser device 220 may be a general-purpose computer (e.g., a desktoppersonal computer, a workstation, or a laptop computer), a mobile orwireless device, or a device designed for a specific function (e.g., acell phone, a smart phone, a tablet PC, a personal digital assistant(PDA), etc.).

FIG. 3 illustrates a process 300 for defining channel information. Theoperations of the process 300 are described generally as being performedby the system 200. The operations of the process 300 may be performed byone of the components of the system 200 (e.g., the server system 210) ormay be performed by a combination of the components of the system 200.In some implementations, operations of the process 300 may be performedby one or more processors included in one or more electronic devices.

The system 200 receives, from a content curator, input defining multiplecontent links to include in a channel associated with the contentcurator, with each content link including an address at which content ismade available over a network (302). For example, a content curator maysearch for and select multiple content links using a content curatorportal. The content curator portal may display a listing of contentavailable in a content and directory database. The content curatorportal may also provide a search function which allows the contentcurator to search for content available in the content and directorydatabase and to also search for publicly-available content, such ascontent available on the Internet. The content curator may selectcontent links which link to various types of content, such as Internetvideo, podcasts, BitTorrent™ content, other peer-to-peer content,licensed and license-free content, music, etc. For BitTorrent™ content,the content link may refer to a BitTorrent™ torrent file. For othercontent, the content link may be a URL. When selecting content links fora channel, the content curator may select links that have acharacteristic in common, such as links relating to the same genre.

The system 200 determines supplemental channel information thatfacilitates user experience of content linked to by at least one of themultiple content links (304). Supplemental channel information mayinclude, for example, one or more hot indices, one or more contentpreview files, metadata, or content order information. A hot indexpoints or refers to a position of interest within a content file.Supplemental channel information is described in more detail below withrespect to FIG. 4.

FIG. 4 illustrates a process 400 for defining channel information basedon supplemental channel information. The process 400 may be used indetermining supplemental channel information referenced above withrespect to reference numeral 304 and in defining channel information forthe channel associated with the content curator referenced below withrespect to reference number 306. The operations of the process 400 aredescribed generally as being performed by the system 200. The operationsof the process 400 may be performed by one of the components of thesystem 200 (e.g., the server system 210) or may be performed by acombination of the components of the system 200. In someimplementations, operations of the process 400 may be performed by oneor more processors included in one or more electronic devices.

The system 200 determines one or more hot indices for at least one ofthe multiple content links included in the channel associated with thecontent curator (402). Hot indices are described in more detail belowwith respect to FIGS. 5 and 6.

FIG. 5 illustrates a process 500 for determining hot indices. Theprocess 500 may be used in determining one or more hot indicesreferenced above with respect to reference numeral 402. The operationsof the process 500 are described generally as being performed by thesystem 200. The operations of the process 500 may be performed by one ofthe components of the system 200 (e.g., the server system 210) or may beperformed by a combination of the components of the system 200. In someimplementations, operations of the process 500 may be performed by oneor more processors included in one or more electronic devices.

The system 200 enables a content curator to review content linked to bya content link (502). For example, the content curator may reviewcontent using a media player application which is capable of playingmultiple types of content (e.g., various types of video content, musiccontent). The media player application may be part of or may be accessedthrough a content curator portal. The content curator may use the mediaplayer application to play the content linked to by the content link, aswell as to stop, fast forward, rewind, and restart the content. Thecontent may be viewed online (e.g., in a streaming format), or some orall of the content may be downloaded before viewing by the contentcurator. Some content may be retrieved from a content and directorydatabase prior to being viewed.

The system 200 receives, from the content curator, selection of one ormore hot indices to define in the content linked to by the content link,where each of the one or more hot indices points to a different positionwithin the content linked to by the content link (504). For example, thecontent curator may play the content linked to by the content link in amedia player application and may define a hot index in the content bypausing the content playback when a particular point of interest withinthe content is reached. While the playback is paused, the contentcurator may, for example, select a “define hot index” control of themedia player application (e.g., button, menu) to define a hot index atthe current (e.g., paused) position within the content. The contentcurator may restart playback of the content in the media playerapplication and may define additional hot indices by repeating, for eachadditional hot index, a pausing of the playback at a point of interestwithin the content and a selecting of the “define hot index” control.

The system 200 stores, in association with the content link and for eachof the one or more hot indices, timing data that indicates the positionwithin the content pointed to by the corresponding hot index (506). Forexample, timing data for a hot index can include hour, minute, andsecond values which collectively indicate the position within thecontent associated with the hot index. Timing data can include, forexample, values such as “1:02:00” (indicating hour one, minute two,second zero), “02:12:30:” (indicating hour two, minute twelve, secondthirty), and “00:05:11” (indicating hour zero, minute five, secondeleven). Timing data for each hot index associated with a content linkmay be stored in association with the content link in a database, suchas in a content and directory database.

FIG. 6 illustrates a process 600 for determining hot indices. Theprocess 600 may be used in determining one or more hot indicesreferenced above with respect to reference numeral 402. The operationsof the process 600 are described generally as being performed by thesystem 200. The operations of the process 600 may be performed by one ofthe components of the system 200 (e.g., the server system 210) or may beperformed by a combination of the components of the system 200. In someimplementations, operations of the process 600 may be performed by oneor more processors included in one or more electronic devices.

The system 200 monitors users' viewing behavior when viewing contentlinked to by a content link (602). For example, the system 200 maymonitor users' fast forwarding, rewinding, stopping, playing, and otherbehaviors when viewing content linked to by a particular content link.For example, the system may track where in the content a user stopsafter fast forwarding or may track where in the content a user stopsafter rewinding. As another example, the system 200 may track whetherparticular portions of content are played (e.g., watched) multipletimes, and may track the start and end positions of those contentportions that are watched multiple times.

Based on the monitoring, the system 200 collects viewing behavioranalytics data for the content linked to by the content link (604). Forexample, based on the monitoring, the system 200 may collect fastforwarding, rewinding, playing, and other behavior data for the contentlinked to by the particular content link, where the fast forwarding,rewinding, and playing behavior data includes data indicating portionsof the content where users tend to fast forward the content, portions ofthe content where users tend to rewind the content, and portions of thecontent where users tend to play the content. Portions of content may beindicated, for example, by a portion start time and a portion end time.Viewing behavior analytics data may be stored in association with thecontent link. That is, data may be stored so that viewing behavioranalytics data collected for all users for a particular content link maybe retrieved.

The system 200 automatically creates one or more hot indices for thecontent linked to by the content link based on the viewing behavioranalytics data, where each of the one or more hot indices points to adifferent position within the content linked to by the content link(606). For example, the system 200 may automatically create, withouthuman intervention, one or more hot indices for the content linked to bythe particular content link based on the fast forwarding, rewinding, andplaying behavior data. As a particular example, a hot index may becreated to identify a position within the content where users transitionfrom fast forwarding or rewinding the content to playing the content.For example, a hot index may be associated with a position in thecontent which corresponds to the end of a commercial, or to aparticularly interesting point within the content, such as a sportshighlight, or a highly interesting scene in a movie.

Hot indices may be created at a particular position for a content linkif a certain threshold is reached. For example, if viewing behavioranalytics data indicate that at least a certain number of users (e.g.,one thousand) or at least a certain percentage of users (e.g., fivepercent) stop playback of content linked to by a content link at aparticular position, then a hot index corresponding to that positionmight be created. Conversely, if less than a certain number or certainpercentage of users stop playback of content at a particular position,then a hot index corresponding to that position might not beautomatically created.

The system 200 stores, in association with the content link and for eachof the one or more automatically created hot indices, timing data thatindicates the position within the content pointed to by thecorresponding hot index (608). For example, timing data for a hot indexcan include hour, minute, and second values which collectively indicatea position within the content associated with the hot index. Timing datafor each hot index associated with a content link may be stored inassociation with the content link in a database, such as in a contentand directory database.

Returning to FIG. 4, the system 200 determines a content preview file toassociate with at least one of the multiple content links included inthe channel associated with the content curator (404). A content previewfile may be, for example, a subset of the content file linked to acontent link (e.g., the first thirty seconds of the content file) or thecontent preview file may be a different file having different contentthan the content file linked to by the content link. As another example,a content preview file may be an image file. Content preview files arediscussed in more detail below with respect to FIGS. 7 and 8.

FIG. 7 illustrates a process 700 for determining preview content. Theprocess 700 may be used in determining a content preview file referencedabove with respect to reference numeral 404. The operations of theprocess 700 are described generally as being performed by the system200. The operations of the process 700 may be performed by one of thecomponents of the system 200 (e.g., the server system 210) or may beperformed by a combination of the components of the system 200. In someimplementations, operations of the process 700 may be performed by oneor more processors included in one or more electronic devices.

The system 200 enables a content curator to review content linked to bya content link (702). For example, the content curator may reviewcontent using a media player application which is capable of playingmultiple types of content (e.g., various types of video content, musiccontent). The media player application may be part of or may be accessedthrough a content curator portal. The content curator may use the mediaplayer application to play the content linked to by the content link, aswell as to stop, fast forward, rewind, and restart the content. Thecontent may be viewed online (e.g., in a streaming format), or some orall of the content may be downloaded before viewing by the contentcurator. Some content may be retrieved from a content and directorydatabase prior to being viewed.

The system 200 receives, from the content curator, selection of a subsetof the content linked to by the content link (704). For example, thecontent curator may play (e.g., watch) the content in a media playerapplication and may define a subset of the content by selecting begintime and end time values which indicate the start and end, respectively,of the content subset. For example, the content curator may watch thecontent and may stop or pause the content playback when the desiredstart time of the content subset is reached. The content curator may,for example, indicate that the position within the content at which theplayback was paused is the start time of the content subset by selectinga “define start time” control (e.g., menu, button) of the media playerapplication. The content curator may fast forward and/or resume playbackof the content and may pause the content again when the desired end timeof the content subset is reached. The content curator may, for example,indicate that the position within the content at which the playback ispaused is the end time of the content subset by selecting a “define endtime” control (e.g., button, menu) of the media player application.

The system 200 generates a content preview file for the content linkedto by the content link using the selected subset of the content (706).For example, a new content file may be created by copying a subset of acontent file linked to by the content link to a newly created contentfile. The content curator may create a new content file based on acontent subset by using a media player application or anotherapplication.

The system 200 stores, in association with the content link, thegenerated content preview file (708). For example, the content previewfile may be stored as a “BLOB” data type in a database system, or thecontent preview file may be stored in a folder on the hard drive of aserver (with a path to the content preview file stored in a database).

FIG. 8 illustrates a process 800 for determining preview content. Theprocess 800 may be used in determining a content preview file referencedabove with respect to reference numeral 404. The operations of theprocess 800 are described generally as being performed by the system200. The operations of the process 800 may be performed by one of thecomponents of the system 200 (e.g., the server system 210) or may beperformed by a combination of the components of the system 200. In someimplementations, operations of the process 800 may be performed by oneor more processors included in one or more electronic devices.

In response to input adding a content link to a channel associated witha content curator, the system 200 automatically searches for a contentpreview file corresponding to content linked to by the content link(802). For instance, the system 200 may automatically search for acontent preview file in response to the content curator adding a contentlink to a channel using a content curator portal. As one example, formovie content, the system 200 may automatically search for movietrailers or recorded movie reviews or interviews corresponding to themovie, such as by searching using the title of the movie. If a contentpreview file associated with the movie content is found (e.g., found onthe Internet based on a movie title search), the content preview filemay be downloaded and may be associated with the movie content as apreview content file for the movie content file. As another example, formusic content, the system 200 may automatically search for music samplefiles or recorded interviews corresponding to the music content.

Based on results of the search, the system 200 determines whether apreviously generated content preview file exists for the content linkedto by the content link (804). For example, the system 200 may determinewhether a movie trailer file, a music sample file, or another type ofpreviously generated content preview file exists for the content.

In response to a determination that a previously generated contentpreview file exists for the content linked to by the content link, thesystem 200 automatically stores, in association with the content link,the previously generated content preview file (806). For example, thecontent preview file may be accessed from a remote server and a copy ofthe content preview file may be requested and copied to the serversystem 210. The copy of the content preview file may be stored as a BLOBdata type in a database, or the copy of the content preview file may bestored in a file system folder of the server system 210. As anotherexample, a link to the content preview file may be stored in a database(e.g., the content preview file itself might not be copied to the serversystem 210, but may be accessible through a stored link which points atthe location of the content preview file on the remote server).

In response to a determination that a previously generated contentpreview file does not exist for the content linked to by the contentlink, the system 200 prompts the content curator to define a contentpreview file and/or generate a default content preview file (808). Forexample, the content curator may browse for and select a content previewfile stored on a local or remote computing device (e.g., the contentcurator may select a preview content file which was not automaticallylocated in reference to step 802 above). As another example, the contentcurator may input a link (e.g., URL) to a content preview file availableon the Internet. The link may be, for example, a link to streamingcontent or a link to a content file.

The content curator may generate a content preview file for the contentlinked to by the content link. For example, the content curator maygenerate a content preview file by specifying a subset of the contentlinked to by the content link. For example, the content curator maywatch (e.g., play) the content in a media player application and mayspecify a content subset by specifying start and end times within thecontent. For example, the content curator may watch the content file inthe media player application and may pause or stop the content at thedesired start time, select a control to indicate that the paused time isthe subset start time, resume playback of the content, watch and/or fastforward the content until the desired subset end time is reached, pauseor stop the content, and select a control to indicate that the pausedtime is the desired subset end time. As another example, the contentcurator may define a content subset to be a first portion (e.g., thefirst thirty seconds) of the content linked to by the content link. Acontent preview file may be generated by copying the content subset to anew content file.

The content curator may generate a content subset by combining multiplesubsets of the content linked to by the content link. For example, thecontent curator may play the content in a media player application andmay define multiple start and end times which define multiple contentsubsets. The content preview file may be generated, for example, bycreating a new content file and appending each content subset to thenewly created content file to create a compilation of content subsets.The content subsets may be appended to the content preview file in theorder in which they appear in the content linked to by the content link,or the content curator may define an order in which the content subsetsare to appear in the preview content file.

The content curator may generate a content preview file by combiningcontent from multiple content files or sources. For example, a contentcurator may create a content preview file by combining any or all ofpreviously existing content preview files, subsets of previouslyexisting content preview files, subsets of the content linked to by thecontent link, subsets of other content files, and other content files.

In some implementations, a default content preview file may beautomatically generated, without human intervention, in response to adetermination that a previously generated content preview file does notexist for the content linked to by the content link. For example, acontent preview file which includes the first thirty seconds of contentmay be automatically generated. The length of an automatically generatedcontent preview file may be based on the type of content. For example,for movie content, a content preview file which includes the firstminute of content may be generated, and for music content, a contentpreview file which includes the first thirty seconds of content may begenerated. In some implementations, a default content preview file maybe generated by the content curator, such as in response to a prompt,and the content curator may specify the length (e.g., thirty seconds,one minute) of the default content preview file.

Returning to FIG. 4, the system 200 determines metadata to associatewith the channel generally and/or with at least one of the multiplecontent links included in the channel associated with the contentcurator (406). For example, the content curator may provide metadatainformation such as a channel name and a channel description using acontent curator portal. The content curator may also provide notes andcomments for one or more content links (e.g., the content curator mayinclude a comment or a description for the content linked to by thecontent link). Metadata may include, among other things, the run lengthof the content, user and/or critic ratings and reviews of the content(e.g., either full text reviews or links to reviews), links to one ormore websites associated with the content, and links to related content.Metadata may also include one or more keywords which describe or arerepresentative of the channel, to help facilitate the finding ofpublished channels in an end-user search portal.

The system 200 determines order information for arranging the multiplecontent links in the channel associated with the content curator (408).For example, the content curator may arrange content items using acontent curator portal user interface. The user interface may displayrepresentations of available content items in an available content areaof the user interface and may display a list of representations ofcontent links included in a channel in a channel information area of theuser interface. A representation of an available content item or contentlink may be, for example, an icon, a thumbnail, or a textual link. Thecontent curator may arrange the representations of content links in thechannel information area to define a desired order of content. Forexample, the content curator may drag and drop or otherwise reorderrepresentations of content links in the channel information area of theuser interface. The content curator may drag and drop or otherwise movea representation of an available content item from the available contentarea to the channel information area, placing the available content itemin a desired position within the list of content links.

Returning to FIG. 3, the system 200 defines channel information for thechannel associated with the content curator based on the multiplecontent links and the supplemental channel information (306). Forexample, referring to FIG. 4, the system 200 defines channel informationfor the channel associated with the content curator based on themultiple content links, the one or more hot indices, the content previewfile, the metadata, and the order information (410).

The system 200 publishes the defined channel information at a channellink to make the channel information available to user devices of acontent delivery network (308). For example, the defined channelinformation may be published using RSS (Really Simple Syndication) orsimilar technology. The channel link may be made available through anend-user content search portal. For example, the channel link may appearin one or more directory listings of available channels. The channellink may also be returned as a search result from searches performedthrough the end-user content search portal. Once a user has subscribedto a channel, channel information may be sent to a media player/accessdevice of the user. In some implementations, channel information is sentin response to a user switching to a subscribed channel. In otherimplementations, channel information is sent to the media player/accessdevice in response to the user subscription (e.g., possibly before theuser views the channel for the first time).

FIG. 9 illustrates an exemplary system 900 for defining channelinformation. The system 900 includes a content curator portal server 902serving multiple content curator portal instances 904, 906, 908 over acontent delivery network 910. Multiple content curators 912, 914, 916use the multiple content curator portal instances 904, 906, 908,respectively. The multiple content curators 912, 914, 916 define, usingthe multiple content curator portal instances 904, 906, 908,respectively, content links 918, 920, 922, respectively, where eachcontent link in the content links 918, 920, 922 is associated with achannel and includes an address at which content is made available overthe content delivery network 910.

The multiple content curators 912, 914, 916 also define, using themultiple content curator portal instances 904, 906, 908, respectively,supplemental channel information which includes hot indices 924, 926,928, respectively, and preview content 930, 932, 934, respectively.Supplemental channel information may also include metadata associatedwith a channel generally and/or metadata associated with one or morecontent links associated with a channel and may also include orderinginformation for arranging content links associated with a channel. Acontent curator 912, 914, 916 may define, using the respective contentcurator portal instances 904, 906, 908, channel information for achannel based on the respective content links 918, 920, 922 and based onrespective supplemental channel information. Defined channel informationmay be sent to the content curator portal server 902 and may be storedin a content and directory database 936, in association with informationidentifying the respective content curator 912, 914, 916.

FIG. 10 illustrates an exemplary channel definition 1000. The channeldefinition 1000 may be associated with a particular content curator,such as a content curator named “DJ”. The channel definition 1000includes a channel name 1002 of “My DJ Channel” and a channel link 1004of “http://9×9.tv/channels/rssfeed123456.html”. The channel link 1004makes the channel definition 1000 available to user devices of a contentdelivery network. The channel definition 1000 also includes metadata1006. The metadata 1006 is data that is generally associated with thechannel defined by the channel definition 1000.

Metadata and other supplemental channel information may also beassociated with one or more content links. The channel definition 1000includes multiple content links 1008-1018, as shown in a table 1020.Each content link 1008-1018 includes an address at which content is madeavailable over a content delivery network. Each content link 1008-1018may refer, for example, to a URL of a content file or to a BitTorrent™torrent file. For example, the content link 1018 refers to the URL“http://www.broadcasterA.com/watch/show1-episode4” and the content link1012 refers to the BitTorrent™ torrent file address of“http://www.nonprofitA.org/download/fileB.torrent”.

As shown in columns 1022, 1024, 1026 of table 1020, each content link1008-1018 may have one or more associated hot indices, one or moreassociated content preview files, or associated metadata, respectively.Hot indices may be automatically identified based on user viewingbehavior data, or may be manually identified by a content curator. Eachhot index refers to a position within a respective content item (e.g.,content file). For example, the content link 1008 has associated hotindices corresponding to positions of one minute twenty seconds, threeminutes thirty seconds, and four minutes thirty seconds within thecontent linked to by the content link 1008. As another example, thecontent link 1014 has one associated hot index corresponding to aposition of zero minutes, forty seconds within the content linked to bythe content link 1014. Some content links, such as content link 1016,have no associated hot indices.

The content link 1008 has an associated content preview file named“myChannel1.wmv”. Content preview files may be generated automatically(e.g., as the first portion of an associated content file), may begenerated manually by a content curator, or may be selected fromexisting content preview files (e.g., a movie trailer). Some contentlinks, such as content links 1012 and 1016, do not have associatedcontent preview files.

Content links may have associated metadata. For example, as shown incolumn 1026, the content link 1012 has metadata describing the contentlinked to by the content link 1012. Metadata associated with a contentlink may be distinguished from metadata which is generally associatedwith the channel and not specifically associated with a content link,such as metadata 1006.

FIG. 11 illustrates a process 1100 for updating channel information. Theoperations of the process 1100 are described generally as beingperformed by the system 200. The operations of the process 1100 may beperformed by one of the components of the system 200 (e.g., the serversystem 210) or may be performed by a combination of the components ofthe system 200. In some implementations, operations of the process 1100may be performed by one or more processors included in one or moreelectronic devices.

The system 200 determines that one or more modifications to channelinformation that defines a channel associated with a content curator areneeded (1102). For example, the system 200 may determine thatmodifications to one or more content links, hot indices, content previewfiles, or other supplemental channel information are needed. The system200 may determine automatically, without human intervention, thatmodifications are needed, or the system 200 may determine thatmodifications are needed based on a received input from a contentcurator. Determining that modifications to channel information areneeded is described in more detail below with respect to FIGS. 12 and14.

FIG. 12 illustrates a process 1200 for determining that one or moremodifications to channel information that defines a channel associatedwith a content curator are needed. The process 1200 may be used indetermining that one or more modifications to channel information areneeded referenced above with respect to reference numeral 1102. Theoperations of the process 1200 are described generally as beingperformed by the system 200. The operations of the process 1200 may beperformed by one of the components of the system 200 (e.g., the serversystem 210) or may be performed by a combination of the components ofthe system 200. In some implementations, operations of the process 1200may be performed by one or more processors included in one or moreelectronic devices.

The system 200 receives, from the content curator, input describing oneor more modifications to content links included in the channelassociated with the content curator (1202). For example, a contentcurator may add a new content link to a channel, may edit an existingcontent link (e.g., update the link address), or may delete a contentlink from a channel. For example, FIG. 13 illustrates an availablecontent user interface area 1302 which displays content which isavailable to be added to a channel. The user interface 1302 may bedisplayed, for example, on a content curator portal. The availablecontent user interface 1302 displays available content filerepresentations 1304-1310. For example, the representations 1304-1310may be icons or thumbnail images.

The available content user interface area 1302 may be displayed on acontent curator portal along with a channel definition area 1312. Thecontent curator may use the channel definition area 1312 to defineand/or modify a channel definition. For example, the channel definitionarea 1312 is displaying a channel definition for a channel named “DJ'sChannel”. To add a new content link to a channel, the content curatormay drag an available file representation 1304-1310 and drop it onto acontent links area 1313 of the channel definition area 1312. The contentlinks area 1313 includes representations 1314-1317 of content linkswhich are currently included in the channel. The content curator may,for example, drag the representation 1308 of a “File 3” content item anddrop it onto the content links area 1313, between the representations1314 and 1315, as illustrated by a dashed-line representation 1318. Thedragging and dropping of the representation 1308 results in the addingof a new content link to the channel and also in a modification of thepositions of the content links currently in the channel. The contentcurator may select a representation 1314-1318 to delete or to modify anexisting content link.

Returning to FIG. 12, the system 200 receives, from the content curator,input describing one or more modifications to supplemental channelinformation related to the channel associated with the content curator(1204). For example, the content curator may add, edit, or delete one ormore hot indices, preview content files, or metadata for a channel, orthe content curator may reorder content links for a channel. For exampleand as illustrated in FIG. 13, the content curator may use a hot indexarea 1320 of the channel definition user interface area 1312 to add anew hot index 1322 for a “File 3” content link, to delete a hot index1324 for a “File A” content link, or to edit a hot index 1326 for a“File D” content link.

As another example, the content curator may use a preview file area 1334to add a new content preview file (e.g., corresponding to representation1336) for the “File A” content link, or to delete a content preview file(e.g., corresponding to representation 1338) for the “File B” contentlink. In some implementations, the content curator portal allows acontent curator to edit an existing content preview file (e.g., to edita video, audio, or image file). In other implementations, to effectivelyedit an existing content preview file, the content curator may deletethe existing content preview and add a new content preview file whichincludes the desired changes.

Returning to FIG. 12, the system 200 determines that one or moremodifications to the channel information that defines the channelassociated with the content curator are needed based on the receivedinput (1206). For instance, in the example of FIG. 13, the system maydetermine that one or more modifications to the “DJ's Channel” channelare needed based on the content curator interacting with the channeldefinition user interface area 1312.

FIG. 14 illustrates a process 1400 for determining that one or moremodifications to channel information that defines a channel associatedwith a content curator are needed. The process 1400 may be used indetermining that one or more modifications to channel information areneeded referenced above with respect to reference numeral 1102. Theoperations of the process 1400 are described generally as beingperformed by the system 200. The operations of the process 1400 may beperformed by one of the components of the system 200 (e.g., the serversystem 210) or may be performed by a combination of the components ofthe system 200. In some implementations, operations of the process 1400may be performed by one or more processors included in one or moreelectronic devices.

The system 200 monitors aspects of the channel associated with thecontent curator (1402). For example, the system 200 may monitor, withouthuman intervention, aspects of content links and supplemental channelinformation associated with the channel. The system 200 mayautomatically detect aspects of the channel, such as broken or changedcontent links, newly-created hot indices, and newly-available contentpreview files. Monitoring aspects of content links and supplementalchannel information is described in more detail below with respect toFIG. 15.

FIG. 15 illustrates a channel definition area 1502 for a channel named“DJ's Channel”. The channel definition area 1502 includes a contentlinks area 1503, a hot indices area 1504, and a content preview area1505. The content links area 1503 includes representations 1506-1509 forcontent links currently included in the channel.

The system 200 may automatically detect, for example, that the contentlink for “File A” (e.g., corresponding to representation 1506) is abroken link (e.g., that “File A” is no longer accessible at thespecified content link). The system 200 may also detect, for example,that the content link for “File C” (e.g., corresponding torepresentation 1508) has changed (e.g., that the “File C” is stillaccessible, but is accessible at a different link address). As anotherexample, the system 200 may determine that a new hot index 1512 has beenautomatically generated for “File C”, based on viewer behavioranalytics. For example, automatic monitoring of user viewing behaviormay have determined that users frequently stop rewinding the “File C”content at a position of 5:30 and the system 200 may determine that anew hot index corresponding to position 5:30 of “File C” has beencreated. As yet another example of automatic monitoring of channelaspects, the system 200 may detect that a new content preview file 1514is available for “File B” (e.g., the content link corresponding torepresentation 1507). For example, “File B” may be movie content and anew movie trailer may have been made available and discovered by thesystem 200.

Returning to FIG. 14, based on the monitoring, the system 200automatically determines that one or more modifications to content linksincluded in the channel associated with the content curator are needed(1404). For instance, in the example of FIG. 15, the system 200 maydetermine that a deletion modification 1520 of the content linkassociated with representation 1506 is needed based on the detection ofa broken link for “File A”. As another example, the system 200 maydetermine that an update-link modification 1522 is needed for thecontent link associated with representation 1508 based on the detectionof the modified link for “File C”.

Based on the monitoring, the system 200 automatically determines thatone or more modifications to supplemental channel information related tothe channel associated with the content curator are needed (1406). Forinstance, in the example of FIG. 15, the system 200 may determine thatan add-hot-index modification 1524 is needed based on the determinationthat a new hot index has been created for “File C”. As another example,the system 200 may determine that an add-content-preview-filemodification 1526 is needed based on the detected availability of a newcontent preview file for “File B”.

Returning to FIG. 11, the system 200 identifies updated channelinformation that defines updates to the channel information needed tomake the one or more modifications (1104). For instance, in the exampleof FIG. 13, the system 200 may identify the newly-added content link for“File 3” associated with the representation 1308, the newly-addedcontent preview file 1336 for “File A”, the newly-added hot index 1322for “File 3”, the deletion of the hot index 1324 for “File A”, themodification of the hot index 1326 for “File D”, and the deletion of thecontent preview file 1338 for “File B”. In the example of FIG. 15, thesystem 200 may identify the delete link modification 1520, the updatelink modification 1522, the add hot index modification 1524, and the addnew content preview file modification 1526. The updated channelinformation may include only the information related to the channel thathas changed.

The system 200 publishes the updated channel information at a channellink for the channel such that subscribers to the channel receive theupdated channel information (1106). For example, the updated channelinformation may be published using RSS or similar technology. Updatedchannel information may be automatically sent to media player/accessdevices of users who have subscribed to the channel. Channel informationfor an update may include only information related to modified channelinformation (e.g., downloaded channel information for an update may notinclude information for channel information that has not changed).

A user may receive an update message subsequent to a media player/accessdevice receiving updated channel information. For instance, in theexample of FIG. 13, channel lists 1346-1350 for users one, two, and “N”,respectively, each include the “DJ's Channel” channel (as shown bychannel indicators 1352-1356) which the content curator modified usingthe user interface 1312. In response to the modifications to thechannel, updated channel information may be sent to the mediaplayer/access devices for user one, user two, and user “N”. Each of theusers one, two, and “N” may see an update message 1358 the next timethey use their media player/access device which indicates that “DJ'sChannel” has been updated.

Whether a user sees update messages or other update indicators maydepend on whether a user has already watched content related to channelupdates. For instance, in the example of FIG. 13, the “DJ's Channel”channel has current content associated with “File A”, “File 3”, “FileB”, “File C”, and “File D”, with the “File 3” content recently added.Suppose that user one has already watched the “File A”, “File B”, “FileC”, and “File D” content. An updated content list 1360 for the “DJ'sChannel” channel for user one shows a single representation 1362corresponding to the recently added “File 3” content. The representation1362 is highlighted (e.g., with a dashed line) to indicate that itrepresents newly-added content. User one does not receive notificationrelated to the new hot index associated with the “File C” content or thenew content preview file associated with the “File A” content, sinceuser one has already watched the “File C” and “File A” content.

Although user one has watched “File A”, “File B”, and “File C”, thosecontent files may or may not be deleted from the media player/accessdevice associated with user one. For example, the content list 1360 maybe a content list which shows unwatched shows for the associatedchannel. In general, in some implementations, a content file may bedeleted after a user has finished viewing the content file (possiblybased on a user preference). In some implementations, a content file maybe deleted after being viewed and after the content expires. In otherimplementations, content files are deleted only if a user issues anexplicit request to delete a content file.

Suppose that user two has not watched any of the “File A”, “File B”,“File C”, or “File D” content. After receiving updated channelinformation, a content list 1364 for user two may displayrepresentations 1366-1372 for the “File A”, “File 3”, “File B”, and“File C” content, respectively. A representation for the “File D”content may be available, for example by scrolling. The representation1368 for the “File 3” content is highlighted to indicate that itrepresents newly-added content. A representation 1374 of arecently-added preview file for “File A” and a representation 1376 of arecently-added hot index for “File C” may appear highlighted, toindicate that the corresponding supplemental channel information is new.

As another example, suppose that user “N” has watched “File A” but hasnot watched “File B”, “File C”, or “File D”. A content list 1378 foruser “N” may include representations 1380-1386, corresponding to the“File 3”, “File B”, “File C”, and “File D” content, respectively. Therepresentation 1380 for the “File 3” content is highlighted to indicatethat it represents newly-added content. The channel list 1378 does notinclude a representation for “File A” or a notification of the newcontent preview file for “File A” since user “N” has already watched“File A”. A representation 1388 for the recently-added hot index for“File C” is highlighted, to indicate that the corresponding hot index isnew.

A user may also be updated in response to updates to channel informationwhich are automatically determined (e.g., in contrast to channelinformation updates initiated by a content curator). For instance, inthe example of FIG. 15, channel lists 1530-1534 for users one, two, and“N”, respectively, each include the “DJ's Channel” channel (as shown bychannel indicators 1537-1540). Assume that modifications 1520-1526 havebeen previously automatically determined, based on monitoring of aspectsof the channel. In response to the modifications 1520-1526, updatedchannel information may be sent to the media player/access devices foruser one, user two, and user “N”. The users two, and “N” may see anupdate message 1541 the next time they use their media player/accessdevice which indicates that “DJ's Channel” has been updated.

Suppose, similar to the user one, user two, and user “N” viewingbehavior in the example of FIG. 13, that user one has already watchedthe “File A”, “File B”, “File C”, and “File D” content (a content list1542 for user one is correspondingly empty). In such a scenario, userone might not see the update message 1541 or see any notificationsrelated to the modifications 1520-1526, since the updates are applicableto content that user one has already seen. Also, in some examples,update messages may generally be displayed only if certain types ofupdates occur (e.g., new or deleted content links) and may not be shownif only certain other types of updates occur (e.g., if the only types ofupdates that have occurred are modifications to supplemental channelinformation, update messages might not be displayed).

Suppose, in the example of FIG. 15, that prior to the updates 1520-1526,that user two has watched the “File D” content but has not watched anyof the “File A”, “File B”, or “File C” content. A content list 1544 maycorrespondingly display representations 1548 and 1550 for the “File B”and “File C” content, respectively. A representation for “File A” is notshown, due to the modification 1520. The representation 1550 for “FileC” might not be highlighted, despite the update-link modification 1522.For example, the update-link modification might not be deemed ofinterest to the user (e.g., the “File C” content is still available, andthe user may not be interested in the fact that the link is available ata different link address). A representation 1552 of a recently-addedpreview file for “File B” (e.g., corresponding to modification 1526) anda representation 1554 of a recently-added hot index for “File C” (e.g.,corresponding to modification 1524) may appear highlighted, to indicatethat the corresponding supplemental channel information is new.Similarly, representations 1558 and 1562, corresponding to therecently-added preview file for “File B” (e.g., modification 1526) andthe recently-added hot index for “File C” (e.g., modification 1524) mayappear highlighted in a content list 1564 for user “N”. The content list1564 does not include a representation for “File A”, due to modification1520.

As another example of defining a channel, in some implementations, afirst user may subscribe to a channel associated with a second user. Forexample, the second user may send a content item or a link to a contentitem to the first user, such as by sending an electronic communication(e.g., email) addressed to a communications address associated with themedia player/access device of the first user. In response to receivingan electronic communication from the second user, the mediaplayer/access device of the first user (or, as other examples, a serverdevice, or a remote control device associated with the first user) mayextract the content from the communication (e.g., by streaming contentthrough a link included in the communication, extracting contentattached to the communication, or downloading content using downloadinformation (e.g., a BitTorrent™ torrent file) included in thecommunication, to name a few examples).

After content has been extracted, the content may be organized in achannel associated with the second user. The first user may watch thecontent items received from the second user, in a manner similar towatching content files included on a channel defined by a contentcurator. In some implementations, the second user in this example is acontent curator. In some implementations, the second user is not adefined content curator, but is a regular user who has subscribed to thesystem. For example, the first user and second user may be friends ormay belong to the same family. For example, a first user sending contentto a second user with the received content being organized into achannel for the second user may be a convenient way for the second userto share content with the first user and possibly with other users(e.g., the second user may send electronic communication to a group ofusers).

In some implementations, content curators may define points of interestin channels organized by the content curators. In these implementations,the points of interest may represent interactive elements thatsupplement and enhance content arranged in the channels organized by thecontent curators. For instance, a point of interest may define aspecific time interval for an episode to display a curator-prepared textmessage to appear on a media player outputting the episode. The purposeof the point of interest may be to prompt the user to take some sort ofaction while watching that episode. The action that the user is asked totake may be executed from a remote control, such as by pushing a buttonon the remote control. The actions may include asking the user if he orshe wants to receive more information about a subject/celebrity/objectrelated to the content currently being played. If the user answers yes,then a promotional message or coupon may be sent to the user's emailaccount or to his mobile phone. In another example, the action mayinclude asking the user to participate in taking a poll or survey. Inyet another example, the action may include asking the user to set up afuture reminder which will trigger a reminder message to be sent to theuser's mobile phone at a future time (e.g., a real-time reminder toremind the user about a television program which is about to air). Apoint of interest may be created by a content curator on a CurationManagement System (CMS) using techniques similar to those discussedabove for creating supplemental channel information. An episode can havemultiple points of interest and, if a user takes no action to a point ofinterest, then the point of interest message will disappear after atimeout period. In addition, a channel also may have its own point ofinterest, which is separate from points of interest for the episodeswithin that channel and is output based on viewing of the channel,regardless of what episodes from the channel are being viewed.

FIG. 16 illustrates a process 1600 for handling points of interest. Theoperations of the process 1600 are described generally as beingperformed by the system 200. The operations of the process 1600 may beperformed by one of the components of the system 200 (e.g., the serversystem 210) or may be performed by a combination of the components ofthe system 200. In some implementations, operations of the process 1600may be performed by one or more processors included in one or moreelectronic devices.

The system 200 accesses data used in defining a point of interest thatsupplements content arranged in a channel associated with the contentcurator (1602). For example, the system 200 may display an interfacethat enables a content curator to enter information that defines a pointof interest and receive the data that defines the point of interestthrough the displayed interface. In this example, the system 200 maysolicit and receive information defining when the point of interestshould be output, how the point of interest should be output withcontent defined by the channel, and what action the point of interestinvokes based on a response from a user perceiving the point ofinterest.

In some examples, the system 200 automatically, without input from thecontent curator, determines data used in defining the point of interestbased on one or more rules that control definition of points of interestfor the channel associated with the content curator on the contentdelivery network. In these examples, the one or more rules may besystem-defined rules that specify when points of interest are presentedwithin multiple channels in the content delivery network or when a pointof interest is to be presented in a particular episode for all channelsthat include the particular episode. The one or more rules also may bespecific to the content curator and only control definition of points ofinterest for channels associated with the content curator. The contentcurator may provide input defining the one or more rules and the system200 may automatically, without further input from the content curator,define points of interest for the content curator's channels based onthe provided input. The one or more rules may use various criteria indetermining to define points of interest. The criteria may include thetype of content arranged in a channel, end user interactions withcontent and/or channels, external events (e.g., changing weather data orstock prices), or any other criteria using data accessible to the system200.

In some implementations, the system 200 accesses timing information thatindicates when the point of interest is used to supplement contentarranged in the channel associated with the content curator on thecontent delivery network. In these implementations, the timinginformation may be defined relative to an amount of time a particularepisode or content file has been played or relative to an amount of timea channel has been output. For instance, the timing information mayindicate that the point of interest should be output five minutes intoplaying of a particular episode organized in the channel or may indicatethat the point of interest should be output after the channel has beenexperienced by a user for two hours. The timing information also maydefine an absolute time at which the point of interest should bedisplayed, such as every Thursday at 8:00 PM or on July 29 at 6 PM. Thetiming information also may be defined relative to actions taken by auser experiencing a channel or an episode. For instance, the timinginformation may indicate that the point of interest should be displayedafter content of a channel or episode has been fast-forwarded for morethan one minute (e.g., a point of interest to jump to a hot index may bedisplayed when the content of a channel or episode has beenfast-forwarded for more than one minute). In addition, the timinginformation may be relative to the number of times a user has taken aparticular action, such as skipping episodes a particular number oftimes or watching entire episodes without interruption for a particularnumber of times (e.g., a first poll point of interest solicitingfeedback on the channel may be displayed after a user has skipped threeepisodes in the channel and a second poll point of interest solicitingfeedback on the channel may be displayed after a user has watched threeepisodes in a row in their entirety without fast forwarding). Any timingparameters and any actions taken by a user in experiencing content onthe channel or within an episode may be used to trigger presentation ofa point of interest.

In some examples, the timing information indicates a duration of howlong the point of interest is output to supplement content arranged inthe channel associated with the content curator on the content deliverynetwork. In these examples, the system 200 receives, form the contentcurator, input defining how long the point of interest should bedisplayed with content from the channel. For instance, the contentcurator may specify that the point of interest should be displayed forthirty seconds and the system 200 receives the duration information foruse in defining the point of interest. In other examples, the system 200may use a default duration (e.g., fifteen seconds) for all points ofinterest.

In some implementations, the system 200 accesses output information thatdefines how the point of interest is output with content arranged in thechannel associated with the content curator on the content deliverynetwork. The output information may define the visual display of thepoint of interest and/or the audio output of the point of interest. Forexample, the output information may define text to be displayed withcontent arranged in the channel associated with the content curator onthe content delivery network and/or one or more user input controls tobe displayed with content arranged in the channel associated with thecontent curator on the content delivery network. In this example, theoutput information also may include a definition of where the point ofinterest is output in a visual interface. The definition of where thepoint of interest is output in the visual interface may specify that thepoint of interest is displayed as a horizontal bar running along alowermost edge of the interface, a horizontal bar running along anuppermost edge of the interface, a vertical bar running along a leftedge of the interface, a vertical bar running along a right edge of theinterface, or a location in a central portion of the interfacedisplaying content from the channel. The system 200 may enable thecontent curator to modify any output characteristics for the point ofinterest.

Further, the system 200 may display a preview of content to a contentcurator in receiving input that defines the point of interest. Forinstance, the system 200 may enable the content curator to watch orscrolling content of content files organized in the content curator'schannel to identify a location at which the content curator would liketo output the point of interest. In this regard, the system 200 mayreceive, from the content curator, input indicating that the contentcurator would like to output the point of interest at the current pointin the content displayed in the preview and determine the timinginformation from that input. Also, the system 200 may receive adefinition of where the point of interest is output in the visualinterface based on the content curator's interaction with the contentdisplayed in the preview (e.g., the content curator may click on or tapan area of the content displayed in the preview to set that point as thelocation where the point of interest is to be displayed).

In addition, the system 200 may accesses action information that definesone or more actions that occur based on user interaction with the pointof interest. The actions may include any types of actions that enhanceand supplement the user's experience of content arranged in the channel.For example, the action information may include link actions that linkto other content that is related to or relevant to the content arrangedin the channel. In this example, the link action would cause the system200 to output content made available at a linked address responsive tointeraction with the point of interest. The content made available atthe linked address may include another video made available at thelinked address and/or a web page with information relevant to thecontent being output from the channel. The system 200 may enable theuser to perceive the content/information associated with the link actionand then return to the content organized in the channel at the point intime at which the user interacted with the point of interest.

FIG. 17 illustrates an example interface 1700 that receives input from acontent curator in defining a link point of interest. As shown in FIG.17, the interface 1700 includes a preview content window 1705, a displaytext input box 1710, a button text input box 1720, and a hyper linkinput box 1730. The preview content window 1705 displays a preview ofthe content file in the channel to which the user is adding a point ofinterest. The preview content window 1705 also displays a representationof how the point of interest would be displayed with content from thecontent file in the channel, such as the horizontal bar located at thelowermost portion of the interface 1700. A content curator maymanipulate the preview content window 1705 to identify a location in thecontent file at which the content curator would like to display thepoint of interest and the system 200 may set the timing information forthe point of interest based on the location displayed in the previewcontent window 1705.

The display text input box 1710 receives text input used in displayingthe point of interest. The system 200 may use the text provided in thedisplay text input box 1710 as a message to display with the point ofinterest. The button text input box 1720 receives text input used indisplaying the buttons used to interact with the point of interest. Inthis example, the arrangement and location of the point of interest ispredefined by operators of the system 200 and the text provided to thedisplay text input box 1710 and the button text input box 1720 is usedto customize the text included in the predefined point of interestarrangement. In other examples, content curators may be allowed todefine the arrangement and location of the point of interest and mayhave more control over customizations of the appearance of the point ofinterest.

In addition, the hyper link input box 1730 receives text input defininga link address used in linking to additional content or informationbased on a response to the point of interest. The system 200 stores thelink address with the action information for the point of interest anduses the link address in performing the action associated with the pointof interest. The system 200 may store data representing the point in thecontent at which the user responded to the link point of interest andmay use the stored data to return to the exact point in the content atwhich the user responded to the link point of interest upon the userproviding input indicating a desire to return to the content in thechannel (e.g., user input selecting a back or menu button).

The interface 1700 also includes a cancel input control 1780 and a saveinput control 1790. The cancel input control 1780 enables a user to exitthe interface 1700 without setting a point of interest. The save inputcontrol 1790 enables a user to save the input provided in the interface1700 and trigger definition of the point of interest based on the savedinformation.

Referring again to FIG. 16, the action information also may includenotification actions that notify the user of additional informationrelated to or relevant to the content being output from the channel. Thenotification actions may result in content or information related to orrelevant to the content being output from the channel to be immediatelysent to another device (e.g., a mobile device) of the user thatinteracted with the point of interest. The user that interacted with thepoint of interest then may view the content or information using theother device without an interruption in the content being output fromthe channel.

FIG. 18 illustrates an example interface 1800 that receives input from acontent curator in defining a notification point of interest. As shownin FIG. 18, the interface 1800 includes a preview content window 1805, adisplay text input box 1810, and a button text input box 1820. Thepreview content window 1805 displays a preview of the content file inthe channel to which the user is adding a point of interest. The previewcontent window 1805 also displays a representation of how the point ofinterest would be displayed with content from the content file in thechannel, such as the horizontal bar located at the lowermost portion ofthe interface 1800. A content curator may manipulate the preview contentwindow 1805 to identify a location in the content file at which thecontent curator would like to display the point of interest and thesystem 200 may set the timing information for the point of interestbased on the location displayed in the preview content window 1805.

The display text input box 1810 receives text input used in displayingthe point of interest. The system 200 may use the text provided in thedisplay text input box 1810 as a message to display with the point ofinterest. The button text input box 1820 receives text input used indisplaying the buttons used to interact with the point of interest. Inthis example, the arrangement and location of the point of interest ispredefined by operators of the system 200 and the text provided to thedisplay text input box 1810 and the button text input box 1820 is usedto customize the text included in the predefined point of interestarrangement. In other examples, content curators may be allowed todefine the arrangement and location of the point of interest and mayhave more control over customizations of the appearance of the point ofinterest.

The interface 1800 also includes a cancel input control 1880 and a nextinput control 1890. The cancel input control 1880 enables a user to exitthe interface 1800 without setting a point of interest. The next inputcontrol 1890 enables a user to save the input provided in the interface1800 and move to the next interface where the user is able to define theaction information of the notification point of interest. In thisregard, the next interface enables the user to define the notificationaction in terms of what content or information is provided with thenotification and to which device the notification is to be provided(e.g., an application on the user's mobile device or the user'selectronic mail account).

Referring again to FIG. 16, the action information further may includescheduled notification actions that provide a reminder to the user or,at a future time, notify the user of additional information related toor relevant to the content being output from the channel. The schedulednotification actions may result in a reminder or content/informationrelated to or relevant to the content being output from the channel tobe sent to another device (e.g., a mobile device) of the user thatinteracted with the point of interest at a future time that is likelymore convenient for the user to receive the reminder orcontent/information. The system 200 provides the reminder orcontent/information to the user at the scheduled future time to providethe reminder or content/information to the user at a time that is likelybest for the user to receive the information. For instance, a schedulednotification may provide the user with a reminder for a particulartelevision show fifteen minutes prior to the show being broadcast or ascheduled notification may provide the user with information about aproduct on a Saturday morning because the system 200 has learned thatthe user typically shops on Saturday mornings and the information aboutthe product may be most effectively presented to the user at a time whenthe user is already shopping or planning to shop.

FIG. 19 illustrates an example interface 1900 that receives input from acontent curator in defining a scheduled notification point of interest.As shown in FIG. 19, the interface 1900 includes a preview contentwindow 1905, a display text input box 1910, and a button text input box1920. The preview content window 1905 displays a preview of the contentfile in the channel to which the user is adding a point of interest. Thepreview content window 1905 also displays a representation of how thepoint of interest would be displayed with content from the content filein the channel, such as the horizontal bar located at the lowermostportion of the interface 1900. A content curator may manipulate thepreview content window 1905 to identify a location in the content fileat which the content curator would like to display the point of interestand the system 200 may set the timing information for the point ofinterest based on the location displayed in the preview content window1905.

The display text input box 1910 receives text input used in displayingthe point of interest. The system 200 may use the text provided in thedisplay text input box 1910 as a message to display with the point ofinterest. The button text input box 1920 receives text input used indisplaying the buttons used to interact with the point of interest. Inthis example, the arrangement and location of the point of interest ispredefined by operators of the system 200 and the text provided to thedisplay text input box 1910 and the button text input box 1920 is usedto customize the text included in the predefined point of interestarrangement. In other examples, content curators may be allowed todefine the arrangement and location of the point of interest and mayhave more control over customizations of the appearance of the point ofinterest.

The interface 1900 also includes a cancel input control 1980 and a nextinput control 1990. The cancel input control 1980 enables a user to exitthe interface 1900 without setting a point of interest. The next inputcontrol 1990 enables a user to save the input provided in the interface1900 and move to the next interface where the user is able to define theaction information of the scheduled notification point of interest. Inthis regard, the next interface enables the user to define the schedulednotification action in terms of what content or information is providedwith the notification, to which device the notification is to beprovided (e.g., an application on the user's mobile device or the user'selectronic mail account), and what time the scheduled notification is tobe provided.

Referring again to FIG. 16, action information may include poll actionsthat request users to participate in a poll. The poll actions may pose aquestion to users perceiving the channel associated with the contentcurator with a set of potential answers to the question. The system 200may define the poll question and answers based on input provided by thecontent curator.

FIG. 20 illustrates an example interface 2000 that receives input from acontent curator in defining a poll point of interest. As shown in FIG.20, the interface 2000 includes a preview content window 2005, a displaytext input box 2010, multiple button text input boxes 2020, 2022, and2024, and an add button input control 2030. The preview content window2005 displays a preview of the content file in the channel to which theuser is adding a point of interest. The preview content window 2005 alsodisplays a representation of how the point of interest would bedisplayed with content from the content file in the channel, such as thehorizontal bar located at the lowermost portion of the interface 2000. Acontent curator may manipulate the preview content window 2005 toidentify a location in the content file at which the content curatorwould like to display the point of interest and the system 200 may setthe timing information for the point of interest based on the locationdisplayed in the preview content window 2005.

The display text input box 2010 receives text input used in displayingthe point of interest. The system 200 may use the text provided in thedisplay text input box 2010 as a message to display with the point ofinterest. In this case, the message is a poll question presented to theuser with the content from the channel.

The button text input boxes 2020, 2022, and 2024 receive text input usedin displaying the buttons used to interact with the point of interest.In this example, multiple buttons are defined to correspond to multiplepotential answers to the poll question and the text input in the buttontext input boxes 2020, 2022, and 2024 represents the answers to the pollquestion. The add button input control 2030 receives input to addanother button to the point of interest, thereby adding an additionalpotential answer to the poll question. The add button input control 2030enables a content curator to customize the number of buttons in thepoint of interest up to a predefined limit.

The interface 2000 also includes a cancel input control 2080 and a saveinput control 2090. The cancel input control 2080 enables a user to exitthe interface 2000 without setting a point of interest. The save inputcontrol 2090 enables a user to save the input provided in the interface2000 and trigger definition of the point of interest based on the savedinformation.

Referring again to FIG. 16, the system 200 defines the point of interestbased on timing information, output information, and action information(1604). For instance, the system 200 stores, in electronic storage, datathat represents the point of interest and enables the point of interestto be presented with content defined by the channel or episodeassociated with the point of interest. The point of interest is definedin accordance with the timing information, the output information, andthe action information received from the content curator.

FIG. 21 illustrates an example data structure 2100 that stores point ofinterest data. The data structure 2100 may be used by the system 200 indefining the point of interest based on timing information, outputinformation, and action information. As shown in FIG. 21, the datastructure 2100 includes a channel column 2102, an episode column 2104, atime column 2106, a duration column 2108, a type column 2110, a displaytext column 2112, a button text column 2114, and an action column 2116.The channel column 2102 identifies a channel associated with the pointof interest to the extent the point of interest is associated with achannel. The episode column 2104 identifies an episode associated withthe point of interest to the extent the point of interest is associatedwith an episode. The time column 2106 defines a time when the point ofinterest is to be displayed. The duration column 2108 defines a durationof how long the point of interest is to be displayed. The type column2110 defines a type of the point of interest from among a link point ofinterest, a notification point of interest, a scheduled notificationpoint of interest, and a poll point of interest. The display text column2112 defines text for a message displayed for the point of interest. Thebutton text column 2114 defines text displayed with buttons used ininteracting with the point of interest. The action column 2116 definesone or more actions that occur based on a user interacting with thepoint of interest.

In FIG. 21, the data structure 2100 includes four example rows of pointof interest data that define four example points of interest. The fourexample points of interest relate to the interfaces 1700, 1800, 1900,and 2000, respectively. As shown, the first row corresponds to a firstpoint of interest defined using the interface 1700. The first point ofinterest is not associated with a channel, but is associated with theepisode www.cityep2.com such that the first point of interest isdisplayed in all channels of the content curator that defined the firstpoint of interest that include the episode www.cityep2.com. The firstpoint of interest is displayed at the 5:34 mark of the episodewww.cityep2.com and has a duration of thirty seconds. The first point ofinterest is a link point of interest and displays the text “Have youever seen such a beautiful night.” The button for the first point ofinterest is displayed in association with the text “Plan Your TripOnline” and the first point of interest links to www.trav2.com/city2upon selection of the button for the first point of interest.

The second point of interest is not associated with an episode, but isassociated with the channel www.my3.com such that the second point ofinterest is only in the channel www.my3.com of the content curator thatdefined the second point of interest. The second point of interest isdisplayed after the channel www.my3.com has been tuned for ten minutesand has a duration of ten seconds. The second point of interest is anotification point of interest and displays the text “Better LifeProducts.” The button for the second point of interest is displayed inassociation with the text “Get Shopping Information” and the secondpoint of interest causes shopping information to be sent to a user'smobile device upon selection of the button for the second point ofinterest.

The third point of interest is not associated with a channel, but isassociated with the episode www.soc14.com such that the third point ofinterest is displayed in all channels of the content curator thatdefined the third point of interest that include the episodewww.soc14.com. The third point of interest is displayed at the 32:30mark of the episode www.soc14.com and has a duration of two minutes. Thethird point of interest is a scheduled notification point of interestand displays the text “Watch Highlights of the FIFA World CupChampionship.” The button for the third point of interest is displayedin association with the text “Remind me to watch” and the third point ofinterest causes a reminder to watch World Cup highlights to be sent to auser's mobile device at 8:00 PM on Jul. 30, 2013.

The fourth point of interest is associated with the channelwww.cook8.com and also associated with the episode www.tea143.com suchthat the fourth point of interest is displayed in the episodewww.tea143.com, but only for the channel www.cook8.com. Accordingly, thefourth point of interest is not displayed in other channels of thecontent curator that include the episode www.tea143.com. The fourthpoint of interest is displayed at the 00:10 mark of the episodewww.tea143.com and has a duration of one minute. The fourth point ofinterest is a poll point of interest and displays the text “Which isyour favorite one in tea time?” as the poll question. The buttons forthe fourth point of interest are displayed in association with the text“Tea,” “Cake,” and “Coffee,” which represent the potential answers tothe poll question that are selectable by a user. The fourth point ofinterest causes poll results to be displayed to the user with thecontent from the channel.

As described above, the data structure 2100 is associated with a singlecontent curator and represents the points of interest the single contentcurator has defined. Each content curator in the content deliverynetwork may have his or her own data structure such that points ofinterest are specific to content curators and do not permeate tochannels defined by other content curators. In some implementations,content curators may be able to share and exchange points of interest togather more poll data or assist each other in providing the bestinteractive experience for subscribers to the channels of the contentcurators.

Returning again to FIG. 16, the system 200 associates the point ofinterest with at least one of the channel associated with the contentcurator and a content link arranged in the channel associated with thecontent curator (1606). For instance, the system 200 associates thepoint of interest with a particular channel, a particular episode, orboth a particular channel and a particular episode. The system 200 mayassociate the point of interest with a particular channel by storing arepresentation or indication of the point of interest in channelinformation for the particular channel. The system 200 may associate thepoint of interest with a particular episode by identifying all channelsof the content curator that include the particular episode and storing arepresentation or indication of the point of interest for the particularepisode in channel information for each of identified channels.

For episode points of interest, the timing information may indicate thatthe point of interest is to be output at a specific time during outputof content linked to by a content link for the episode arranged in thechannel associated with the content curator on the content deliverynetwork. In these examples, the system 200 associates the point ofinterest with the content link arranged in the channel associated withthe content curator on the content delivery network and controls, at thespecific time during output of the content linked to by the contentlink, output of the point of interest in addition to the content linkedto by the content link. The system 200 may make the point of interestavailable in multiple channels that are associated with the contentcurator and that each include the content link. In addition, the system200 may withhold the point of interest from channels that are defined byother content curators on the content delivery network and that includethe content link such that the point of interest is output only when theuser is experiencing the content linked to by the content link from thechannel associated with the content curator.

For channel points of interest, the timing information may indicate thatthe point of interest is to be output at a specific time duringselection of the channel associated with the content curator on thecontent delivery network. In these examples, the system 200 associatesthe point of interest with the channel associated with the contentcurator on the content delivery network and controls, at the specifictime during selection of the channel associated with the contentcurator, output of the point of interest in addition to the contentdefined by the channel associated with the content curator. The system200 may control, at the specific time during selection of the channelassociated with the content curator, output of the point of interestregardless of how the channel has been controlled during selection suchthat the point of interest is output with different content fordifferent users. For instance, different users may fast forward and/orrewind through content at different rates and, because the fastforwarding and rewinding does not impact how long the channel has beenselected, the point of interest may be output with different content fordifferent users of the content delivery network.

The system 200 controls, based on the timing information and the outputinformation, output of the point of interest in addition to contentdefined by the channel associated with the content curator (1608). Forexample, the system 200 monitors for the time specified by the timinginformation and, based on detecting the time specified by the timinginformation, integrates a representation of the point of interest withthe content defined by the channel associated with the content curator.The system 200 may determine the representation of the point of interestbased on the output information customized by the content curator andpredefined attributes of how points of interest are displayed. Thesystem 200 may output the point of interest for the duration indicatedby the timing information. To the extent the timing information does notspecify a duration, the system 200 may output the point of interest fora default period of time. The system 200 may integrate a representationof the point of interest with the content defined by the channelassociated with the content curator by adding the text defined by theoutput information to a display of the content defined by the channelassociated with the content curator and/or adding one or more user inputcontrols defined by the output information to a display of the contentdefined by the channel associated with the content curator.

FIG. 22 illustrates an example interface 2200 displaying a link point ofinterest integrated with content defined by a channel. The interface2200 represents a display of the point of interest defined using theinterface 1700 and stored in the first row of the data structure 2100.As shown, the interface 2200 includes a message 2210 and an inputcontrol 2220. The message 2210 corresponds to the text stored in thedisplay text column 2112 and the text displayed in association with theinput control 2220 corresponds to the text stored in the button textcolumn 2114. Upon selection of the input control 2220, the system 200performs the action defined in the action column 2116.

FIG. 23 illustrates an example interface 2300 displaying a notificationpoint of interest integrated with content defined by a channel. Theinterface 2300 represents a display of the point of interest definedusing the interface 1800 and stored in the second row of the datastructure 2100. As shown, the interface 2300 includes a message 2310 andan input control 2320. The message 2310 corresponds to the text storedin the display text column 2112 and the text displayed in associationwith the input control 2320 corresponds to the text stored in the buttontext column 2114. Upon selection of the input control 2320, the system200 performs the action defined in the action column 2116.

FIG. 24 illustrates an example interface 2400 displaying a schedulednotification point of interest integrated with content defined by achannel. The interface 2400 represents a display of the point ofinterest defined using the interface 1900 and stored in the third row ofthe data structure 2100. As shown, the interface 2400 includes a message2410 and an input control 2420. The message 2410 corresponds to the textstored in the display text column 2112 and the text displayed inassociation with the input control 2420 corresponds to the text storedin the button text column 2114. Upon selection of the input control2420, the system 200 performs the action defined in the action column2116.

FIG. 25 illustrates an example interface 2500 displaying a poll point ofinterest integrated with content defined by a channel. The interface2500 represents a display of the point of interest defined using theinterface 2000 and stored in the fourth row of the data structure 2100.As shown, the interface 2500 includes a message 2510 and three inputcontrols 2520, 2522, and 2524. The message 2510 corresponds to the textstored in the display text column 2112 and represents the question forthe poll. The text displayed in association with the three inputcontrols 2520, 2522, and 2524 corresponds to the text stored in thebutton text column 2114 and represents three potential answers to thepoll question. Upon selection of one of the three input controls 2520,2522, and 2524, the system 200 performs the action defined in the actioncolumn 2116 and displays results of the poll accounting for the answerselected by the user. As shown, the input control 2520 has been selectedto select the answer “Tea.”

Returning again to FIG. 16, the system 200 receives an indication thatthe user interacted with the point of interest output in addition to thecontent defined by the channel associated with the content curator(1610). For example, system 200 receives an indication that the userinteracted with the point of interest by selecting an input controlassociated with the point of interest. The indication of the user'sinteraction with the point of interest may be a signal from a remotecontrol that indicates the user's selection of an input controlassociated with the point of interest. In the case of a poll point ofinterest, such as that shown in interface 2500, the indication of theuser's interaction with the point of interest may indicate which of thethree input controls 2520, 2522, and 2524 the user selected.

The system 200 performs an action defined by the action information(1612). For instance, upon receiving the indication of the user'sinteraction with the point of interest, the system 200 performs theaction associated with the point of interest in the action column 2116of the data structure 2100. As described previously, the actions mayinclude any types of actions that enhance and supplement the user'sexperience of content arranged in the channel. For example, the actionmay include link actions that link to other content that is related toor relevant to the content arranged in the channel. In this example, thesystem 200 may output content made available at a linked addressresponsive to interaction with the point of interest. The system 200 mayenable the user to perceive the content/information associated with thelink action and then return to the content organized in the channel atthe point in time at which the user interacted with the point ofinterest.

The action also may include notification actions that notify the user ofadditional information related to or relevant to the content beingoutput from the channel. In this example, the system 200 may immediatelysend content or information related to or relevant to the content beingoutput from the channel to another device (e.g., a mobile device) of theuser that interacted with the point of interest. The user thatinteracted with the point of interest then may view the content orinformation using the other device without an interruption in thecontent being output from the channel.

The action further may include scheduled notification actions thatprovide a reminder to the user or, at a future time, notify the user ofadditional information related to or relevant to the content beingoutput from the channel. In this example, the system 200 may send areminder or content/information related to or relevant to the contentbeing output from the channel to another device (e.g., a mobile device)of the user that interacted with the point of interest at a future timethat is likely more convenient for the user to receive the reminder orcontent/information. The system 200 may send the reminder orcontent/information to the user at the scheduled future time to providethe reminder or content/information to the user at a time that is likelybest for the user to receive the information.

The action may include poll actions that request users to participate ina poll. In this example, the system 200 may pose a question to usersperceiving the channel associated with the content curator with a set ofpotential answers to the question. The system 200 may define the pollquestion and answers based on input provided by the content curator.

FIG. 26 illustrates a process 2600 for handling a notification action.The process 2600 may be used in performing an action defined by actioninformation of a point of interest referenced above with respect toreference numeral 1612. The operations of the process 2600 are describedgenerally as being performed by the system 200. The operations of theprocess 2600 may be performed by one of the components of the system 200(e.g., the server system 210) or may be performed by a combination ofthe components of the system 200. In some implementations, operations ofthe process 2600 may be performed by one or more processors included inone or more electronic devices.

The system 200 accesses information defined, by a notification action,to be communicated to the user that interacted with the point ofinterest (2602). For example, the system 200 may access the actioninformation associated with the notification action and stored in actioncolumn 2116 of data structure 2100 and use the action information todetermine the information to access. In this example, the actioninformation may identify a link to information to be communicated to theuser or may identify a file that stores the information to becommunicated to the user. The system 200 may access the information tobe communicated to the user using the link defined by the actioninformation or may access the file that includes the information to becommunicated to the user. For example, the system 200 may accessshopping information associated with Better Life Products from a link towebsite operated for Better Life Products or from a file that stores apromotional message for Better Life Products.

The system 200 identifies communication information associated with theuser that interacted with the point of interest (2604). For example, thesystem 200 may identify electronic mail information associated with theuser that interacted with the point of interest. Alternatively or inaddition, the system 200 may identify device information for acommunication device of the user (e.g., the user's mobile device), whichis different than a device outputting the content defined by the channelassociated with the content curator. For example, the notificationaction information may define to which device the notification is to beprovided (e.g., an application on the user's mobile device or the user'selectronic mail account) based on information provided by a contentcurator. In other cases, the system 200 may allow the user thatinteracted with the point of interest to decide to which device thenotification should be sent by, for example, displaying a set of inputcontrols from which the user may select the device to which the userprefers the notification to be sent.

The system 200 sends, to the user that interacted with the point ofinterest using the identified communication information, the accessedinformation (2606). For example, system 200 may send the accessedinformation to the user that interacted with the point of interest usingthe identified electronic mail address, the identified deviceinformation, or both. For example, the system 200 may send the shoppinginformation associated with Better Life Products to the user'selectronic mail account or to the user's mobile device.

FIG. 27 illustrates a process 2700 for handling a scheduled notificationaction. The process 2700 may be used in performing an action defined byaction information of a point of interest referenced above with respectto reference numeral 1612. The operations of the process 2700 aredescribed generally as being performed by the system 200. The operationsof the process 2700 may be performed by one of the components of thesystem 200 (e.g., the server system 210) or may be performed by acombination of the components of the system 200. In someimplementations, operations of the process 2700 may be performed by oneor more processors included in one or more electronic devices.

The system 200 accesses information defined, by a scheduled notificationaction, to be communicated to the user that interacted with the point ofinterest (2702). For example, the system 200 may access the actioninformation associated with the notification action and stored in actioncolumn 2116 of data structure 2100 and use the action information todetermine the information to access. In this example, the actioninformation may identify a link to information to be communicated to theuser or may identify a file that stores the information to becommunicated to the user. The system 200 may access the information tobe communicated to the user using the link defined by the actioninformation or may access the file that includes the information to becommunicated to the user. For example, the system 200 may access, from afile, the text “Watch highlights of the FIFA World Cup Championship” touse in a reminder for the scheduled notification action. The system 200also may access a World Cup highlights video using a link defined by theaction information and imbed the World Cup highlights video with thereminder.

The system 200 determines a time, defined by the scheduled notificationaction, at which to deliver the accessed information (2704). Forexample, the system 200 may determine a time based on information storedin the action column 2116 of the data structure 2100 (e.g., 8:00 PM onJul. 30, 2013). In some implementations, the system 200 may determine atime based on information that the system 200 has learned about theuser. For example, the system 200 may have learned that the usertypically shops on Saturday morning and the system 200 may determinethat notification for to provide the user with information about orcoupons for a product should be delivered on Saturday morning at 10:00AM.

The system 200 identifies communication information associated with theuser that interacted with the point of interest (2706). For example, thesystem 200 may identify electronic mail information associated with theuser that interacted with the point of interest. Alternatively or inaddition, the system 200 may identify device information for acommunication device of the user (e.g., the user's mobile device), whichis different than a device outputting the content defined by the channelassociated with the content curator. For example, the schedulednotification action information may define to which device thenotification is to be provided (e.g., an application on the user'smobile device or the user's electronic mail account) based oninformation provided by a content curator. In other cases, the system200 may allow the user that interacted with the point of interest todecide to which device the notification should be sent by, for example,displaying a set of input controls from which the user may select thedevice to which the user prefers the notification to be sent.

The system 200 monitors for the time at which to deliver the accessedinformation (2708). For example, the system 200 may use a system clockto monitor for the date and time at which to deliver the accessedinformation.

The system 200 sends, using the identified communication information,the accessed information to the user that interacted with the point ofinterest at the time at which to deliver the accessed information(2710). For example, system 200 may send the accessed information to theuser that interacted with the point of interest using the identifiedelectronic mail address, the identified device information, or both atthe determined delivery time. For example, the system 200 may send areminder including the text “Watch highlights of the FIFA World CupChampionship” along with a link to a video of World Cup highlights tothe user's electronic mail address at 8:00 PM on Jul. 30, 2013. Asanother example, the system 200 may send the shopping information orcoupon to the to the user's mobile device at 10:00 AM Saturday morning.

FIG. 28 illustrates a process 2800 for handling a poll action. Theprocess 2800 may be used in performing an action defined by actioninformation of a point of interest referenced above with respect toreference numeral 1612. The operations of the process 2800 are describedgenerally as being performed by the system 200. The operations of theprocess 2800 may be performed by one of the components of the system 200(e.g., the server system 210) or may be performed by a combination ofthe components of the system 200. In some implementations, operations ofthe process 2800 may be performed by one or more processors included inone or more electronic devices.

The system 200 determines an answer to a poll for a user thatcorresponds to one of multiple answer input controls selected by theuser (2802). For example, the system 200 may receive an indication ofone of multiple poll answer input controls selected by the user from aremote control. For instance, the system 200 may receive an indicationthat a user has selected the input control 2520 of interface 2500indicating that the user prefers tea at tea time.

The system 200 updates data tracking results of the poll based on thedetermined answer to the poll for the user (2804). For example, thesystem 200 may receive poll data from multiple users and may update thepoll data with each determined poll answer. Updating the data trackingresults for the poll may include incrementing a counter associated withthe determined answer to the poll for the user and incrementing acounter associated with the total responses received for the poll. Forinstance, in response to receiving an indication that a user hasselected the input control 2520 of interface 2500, the system 200 mayincrement a counter associated with the choice of “Tea” as a response tothe poll question “Which is your favorite one in tea time?”

The system 200 determines a result of the poll based on the updated datatracking results of the poll (2806). For example, the system 200 maycalculate the percentage of total poll responses associated with each ofmultiple answers to the poll based on the updated tracking results. Inaddition, the system 200 may compare the calculated percentages anddetermine a leading answer to the poll.

The system 200 controls output, to the user, of the determined result ofthe poll (2808). For example, the system 200 may display the pollresults in the point of interest interface upon receiving a selection ofa poll input control from a user.

FIG. 29 illustrates an example interface 2900 displaying results of apoll point of interest integrated with content defined by a channel. Theinterface 2900 represents a display of poll results for the point ofinterest defined using the interface 2000 and stored in the fourth rowof the data structure 2100. As shown, the interface 2900 includes amessage 2910 and three input controls 2920, 2922, and 2924. The message2910 indicates that the interface 2900 shows the poll results at thetime of the user's interaction with the poll point of interest. The textdisplayed in association with the three input controls 2920, 2922, and2924 corresponds to the text stored in the button text column 2114 andincludes the poll results (as a percentage of total responses)associated with each of the three input controls 2920, 2922, and 2924.As shown, the poll is tied at 33% each for “Tea,” “Cake,” and “Coffee.”

In some implementations, the system 200 may use a user's poll responseto choose a point of interest to be displayed at a later point during aparticular episode being viewed by a user. For example, a curator maydefine three different link type points of interest to be displayed at alater point of the www.tea143.com episode: one related to tea, anotherrelated to cake, and a third related to coffee. Based on a user'sselection of “Tea” in response to the poll interest defined in thefourth row of data structure 2100, the system 200 may determine that thecurator's link type point of interest related to tea should be displayedat the later point in the www.tea143.com episode.

FIG. 30 illustrates a process 3000 for resolving conflicts among pointsof interest. The operations of the process 3000 are described generallyas being performed by the system 200. The operations of the process 3000may be performed by one of the components of the system 200 (e.g., theserver system 210) or may be performed by a combination of thecomponents of the system 200. In some implementations, operations of theprocess 3000 may be performed by one or more processors included in oneor more electronic devices.

The system 200 determines that a channel point of interest conflictswith an episode point of interest (3002). For example, a channel pointof interest may conflict with an episode point of interest when thetiming information for both a channel point of interest and an episodepoint of interest conflict. Referring to the points of interest definedin data structure 2100, a user may be viewing episode www.cityep2.com onchannel www.my3.com and because the user may have been viewing anotherepisode on channel www.my3.com for 4 minutes and 20 seconds prior tostarting the episode www.cityep2.com the timing of the first and secondpoints of interest in data structure 2100 will conflict. The conflictarises because the channel point of interest (i.e., the second point ofinterest in data structure 2100) is scheduled to be displayed after theuser has been viewing channel www.my3.com for 10 minutes which, due tothe user's actions prior to beginning episode www.cityep2.com, coincideswith the timing of the episode point of interest (i.e. the first pointof interest in data structure 2100). To determine whether a channel andan episode point of interest conflict, the system 200 may take intoaccount both the scheduled starting time of each point of interest andthe respective duration of each point of interest. By taking intoaccount both the schedule starting time and the duration, the system 200may effectively create a real-time Gant chart for scheduled points ofinterest based on a user's interaction with episodes within a channel.

In addition, when determining whether a conflict exists, the system 200may include a short amount of buffer time into the calculation such thatthe display of one point of interest may be removed from a user'sdisplay for a short duration before displaying a second point ofinterest. For example, it may be desirable to have at least a ten secondgap between consecutive points of interest to ensure a user recognizesthe second point of interest.

The system 200 accesses one or more rules used in resolving conflictsfor points of interest (3004). Upon determining that a channel point ofinterest conflicts with an episode point of interest, the system 200 mayaccess one or more rules to resolve the conflict. For example, a rulemay include prioritizing channel points of interest over episode pointsof interest such that the channel point of interest is output to theuser but the episode point of interest is not. Another rule may includeaccessing a ranking of points of interest and selecting the point ofinterest with the highest ranking. Yet another rule may includeprioritizing either the channel or the episode point of interest basedon the time of day. Another rule may include prioritizing either thechannel or the episode point of interest based on information learnedabout the user. Yet another rule may include prioritizing the episodepoint of interest over the channel point of interest. Although severalexamples of rules have been provided, many other rules for resolvingconflicts for points of interest are also possible.

The system 200 analyzes the channel point of interest and the episodepoint of interest with respect to the one or more rules (3006). Forexample, the system 200 may apply the rule to the channel and episodepoints of interest that conflict. In a case in which there are more thanone rule, the system 200 may determine which rule should be applied tothe conflicting channel and episode points of interest. For example, therules may be ranked. As another example, the system 200 may determine aranking for the channel point of interest and a ranking for the episodepoint of interest based on accessed ranking of points of interest,compare the ranking of the channel point of interest to the ranking ofthe episode point of interest, and apply a rule based on the comparedrankings.

The system 200 selects one of the channel point of interest and theepisode point of interest to output in addition to content defined bythe channel (3008). For instance, the system 200 selects the appropriateone of the channel point of interest or the episode point of interest tooutput in addition to content defined by the channel based on theapplied rule. For example, if the rule was to prioritize channel pointsof interest over episode points of interest the system 200 may selectthe channel point of interest to output in addition to content definedby the channel. In some implementations, the system 200 may place theunselected point of interest in an electronic queue to be output at alater time.

FIG. 31 illustrates example data 3100 that reflects tracking of pointsof interest and responses to points of interest and statistics generatedfrom the tracking of points of interest and responses to points ofinterest. The data 3100 may be used by the system 200 to evaluate theperformance of different curators, to determine revenue sharing, and/orto determine which curator's content to promote. As shown in FIG. 31,the data 3100 includes a curator column 3102, a channel column 3104, anepisode column 3106, a total point of interest column 3108, a channelpoint of interest column 3110, an episode point of interest column 3112,a total response column 3114, a channel response column 3116, an episoderesponse column 3118, a total percent column 3120, a channel percentcolumn 3122, and an episode percent column 3124. The curator column 3102identifies a curator associated with the point of interest tracking datain each row of data. In other words, the data in each row representsperformance statistics based on points of interest created by eachcurator listed in the curator column 3102. The channel column 3104 andepisode column 3106 indicate the number of channels and episodes managedby each curator listed in column 3102. The total point of interestcolumn 3108, channel point of interest column 3110, and episode point ofinterest column 3112 indicate the respective total, channel, and episodepoints of interest created by each curator listed in column 3102 andoutput to users of the content delivery network. The total responsecolumn 3114, channel response column 3116, and episode response column3118 indicate the number of responses received for the total, channel,and episode points of interest created by each curator listed in column3102. Finally, the total percent column 3120, channel percent column3122, and episode percent column 3124 indicate the percentage of total,channel, and episode points of interest that have been output to usersand for which the system 200 has received a response. In addition to thedata 3100 shown in FIG. 31, the system 200 also may track additionaldata related to content curators, such as the number of channelsubscribers each curator has to their channels.

All or some of the data 3100 may be used in conjunction with the numberof channel subscribers to evaluate the performance of differentcurators, to determine revenue sharing, and/or to determine whichcurator's content to promote. In addition, the data 3100 may also bedisplayed or used on a per-channel or per-episode basis to provide evenmore granular performance data. In some implementations, the system 200may also provide each curator with data tracking their own points ofinterest to evaluate their own channels, episodes, or individual pointsof interest. For example, the system 200 may track the number ofresponses received to each point of interest created by a curator.

The operations described above with respect to FIGS. 16-31 may beperformed on any suitable media device (e.g., a television, a mobiledevice, a computer, etc.) that is capable of outputting the interfacesdescribed with respect to FIGS. 16-31 and receiving input from asuitable input device (e.g., a remote control device, a touch screeninterface, a mouse and keyboard, etc.) in performing the operationsdescribed with respect to FIGS. 16-31. For example, points of interestmay be displayed on a television and interacted with through commandsreceived from a remote control device operated by a user perceiving thepoints of interest. In another example, points of interest may bedisplayed on a mobile device and interacted with through input (e.g.,touch events, swiping gestures, etc.) applied to a touch screeninterface of the mobile device. In yet another example, points ofinterest may be displayed on a computer and interacted with throughcommands received from a mouse and/or keyboard operated by a userperceiving the points of interest.

In some implementations, when an end user first launches a contentpresentation portal to access content from system 200 three sets ofchannels are displayed. Each set of channels may contain a fixed numberof video channels. For example, each set of channels can contain up to27 channels stacked together. A set of channels may be a convenient wayto organize a number of related video channels in one place. When thecontent presentation portal is first launched, the first episode of thefirst channel in the middle set may immediately begin playing. The usermay be allowed to navigate to other channels in the highlighted setusing up arrow and down arrow input controls provided in the contentpresentation portal. In addition, the user may be allowed to navigate toanother set of channels using left arrow and right arrow input controlsprovided in the content presentation portal. The content presentationportal may provide a full screen view of a particular episode in thehighlighted channel when a user selects any location in a playback areaof the content presentation portal. Additionally, the contentpresentation portal may provide input controls to allow a user tosubscribe to new channels. The subscribed channels may be placed auser-defined set of channels. The content presentation portal may alsoinclude system operator defined sets of channels and content providerdefined sets of channels. An end user may not be allowed to alterattributes of either the operator defined sets of channels and contentprovider defined sets of channels. For example, an operator (e.g., abusiness that runs and maintains system 200) may control the videochannels and episodes organized in operator defined sets of channels. Inthis example an operator defined set of channels may include an accountsupport channel the features videos explaining various features of thesystem 200 and a highlights channel that shows highlights of contentfrom preferred content providers. Similarly, a content provider (e.g., agroup of content curators from a television station) may control thevideo channels and episodes organized in content provider defined setsof channels. For example, a content provider may be XYZ News Corporationand an XYZ News Corporation set of channels may include a local XYZ Newschannel (e.g., XYZ News Fairfax), a national XYZ News channel, and anXYZ News commentary channel (e.g., MSXYZ News). In this example, basedon an agreement between the operator and XYZ News Corporation, theoperator of the system 200 may use the XYZ News Corporation set ofchannels as the preferred content provider set of channels that userscannot alter. In addition, the operator defined sets of channels andcontent provider defined sets of channels may be sets of channels thatare required to be displayed in an end user's content presentationportal at a particular location. In this regard, the operator reservesscreen real estate in users' portals and may display sets of channelsdefined by the operator in the reserved screen real estate and/or sellor lease the reserved screen real estate to content providers andcontent curators.

FIG. 32 illustrates a process 3200 for defining a content presentationportal. The operations of the process 3200 are described generally asbeing performed by the system 200. The operations of the process 3200may be performed by one of the components of the system 200 (e.g., theserver system 210) or may be performed by a combination of thecomponents of the system 200. In some implementations, operations of theprocess 3200 may be performed by one or more processors included in oneor more electronic devices.

The system 200 receives, from a user identity, a request to access acontent delivery network (3202). For example, the system 200 may displaya user login interface. In some implementations, an access device may beassociated with a user identity and, when powered on by the user, theaccess device requests access to the content delivery network fromsystem 200 and serves as the user identity. A user identity may be acontent delivery network user account associated with one or moreindividual content presentation portal users. Furthermore, a user may beable to access system 200 from multiple access devices using one useridentity. For instance, multiple family members may use a single useridentity (e.g., user account) to access content from the system 200using a smart phone, a media player, a laptop computer, anInternet-enabled television, or any other device capable of accessing acontent delivery network.

The system 200 identifies the user identity that is requesting access tothe content delivery network (3204). For example, the system 200 mayidentify the user identity that is requesting access to the contentdelivery network based on user account information, such as a user name,an electronic mail address, or other appropriate user login information.In implementations in which a user account is associated with an accessdevice, the system 200 may identify the user identity that is requestingaccess to the content delivery network by identification information forthe access device (e.g., a serial number or a media access control (MAC)address of the access device). The system 200 may perform authenticationof the user identity as a prerequisite to granting access to the contentdelivery network. For instance, the system 200 may require a password oraccess token to authenticate the user identity.

The system 200 accesses user-defined settings associated with the useridentity (3106). For example, the system 200 uses the user identity toaccess user-defined settings for the content presentation portal.User-defined settings may include settings related to which additionalsets of channels to include in the portal (e.g., in addition to anyrequired sets of channels), an order of the additional sets of channelsin the portal, channels to which a user has subscribed, an order ofchannels within the additional sets of channels, and user-defined namesand/or display formats for the additional sets of channels in theportal. The user-defined settings are described in more detail withrespect to the user-setting control interfaces described below and shownin FIGS. 33 and 34.

FIG. 33 illustrates an example interface 3300 that receives input from auser identity to define user settings for a content presentation portal.The interface 3300 is an example user interface for defining usersettings related to individual sets of channels. As shown in FIG. 33,the interface 3300 includes a set name text box 3310, channel icons3320, 3322, 3324, and 3326, an add channels icon 3330, a channel storeicon 3340, channel sorting input controls 3350, 3352, and 3354, and aportal menu 3360. The set name text box receives a name for auser-defined set of channels.

The channel icons 3320, 3322, 3324, and 3326 show the user the channelsthat are associated with the displayed set of channels. For example, asshown in FIG. 33 a user has placed Science channel 3320, Talk channel3322, Power channel 3324, and Bike channel 3326 in channel set 1. Theadd channel icon 3330 may allow a user to add, to the channel setdisplayed in interface 3300, channels to which the user has subscribed.The channel sorting input controls 3350, 3352, and 3354 allow a user todefine how the channels are arranged within the channel set displayed ininterface 3300. A user selection of the updated time channel sortinginput control 3350 may cause the channels to be sorted by the time ofthe most recent update. For example, the channel with the most recentlyupdated episode may be displayed first within channel set 1 in theportal. A user selection of the customized order channel sorting inputcontrol 3352 may allow the user to customize the order of the channelswithin the channel set displayed in interface 3300. For example, theorder that the channels are listed in interface 3300 may indicate to theuser the order in which the channels are displayed within channel set 1in the content presentation portal. Interface 3300 may allow a user tochange the order that the channels are displayed within channel set 1 byaltering the position of channel icons 3320, 3322, 3324, and 3326 ininterface 3300, for example, by dragging and dropping one of channelicons 3320, 3322, 3324, and 3326 into a new position. A user selectionof the set on top channel sorting input control 3354 in the upper rightcorner of the channel icons may cause the channel associated with theselected channel icon to be assigned as the first channel to bedisplayed in the channel set displayed in interface 3300. For example,when the user view's channel set 1 in the portal, the Power channel 3324may be the first channel displayed within channel set 1.

The channel store icon 3340 may allow a user to access a channel storehosted on the system 200. The channel store may provide a list ofchannels or sets of channels from various curators and content providersto which the user can subscribe. Content curators or content providersmay arrange channels in a set and require users to purchase the entireset of channels, rather than individual channels within the set.

The portal menu 3360 provides a user with a list of channel setsavailable within the content presentation portal associated with theuser's user identity that may be edited by the user using interface3300. The highlighted set (Set 1) in the portal menu may indicate whichset is presently displayed for editing in interface 3300.

The interface 3300 also includes a preview input control 3380 and a saveinput control 3390. The preview input control 3380 enables a user topreview any changes that the user made to the channel set displayed ininterface 3300. The save input control 3390 enables a user to save theuser's settings related to the channel set displayed in interface 3300.

FIG. 34 illustrates an example interface 3400 that receives input from auser identity to define user settings for a content presentation portal.The interface 3400 is an example user interface for defining usersettings related to how sets of channels are presented in the contentpresentation portal. As shown in FIG. 34, the interface 3400 includes alist of the channel set icons 3410, 3420, 3430, 3432, 3434,3436, and3438, an add set icon 3340, and channel set sorting input controls 3450and 3452. The channel set icons 3410, 3420, 3430, 3432, 3434, 3436, and3438 represent channel sets that are associated with the user's useridentity within system 200.

The preferred curator(s) channel set icon 3410 represents one or morecontent provider channel sets and the system channels channel set icon3420 represents one or more system operator channel sets. The preferredcurator(s) channel set icon 3410 and the system channels channel seticon 3420 may, for example, be shaded, bolded, or highlighted in anappropriate manner to indicate, to a user, that attributes related tothose channel sets may not be changed by the user. Thus, the inclusionof the channel sets 3410 and 3420 in the user's portal and the positionof the channel sets 3410 and 3420 within the user's portal are lockedand cannot be changed by the user.

The next two channel set icons 3430 and 3432 represent user definedchannel sets. For example, channel set icons 3430 and 3432 may representchannel sets that the user has defined and which contain channels towhich the user has subscribed. The final three channel set icons 3434,3436, and 3438 represent content provider defined channel sets that, forexample, may not be required to be included in the user's portal but towhich the user may have voluntarily subscribed. For example, the channelset associated with channel set icon 3434 may have been defined byCurator 4 and would include content (e.g., channels and episodes) asdefined by Curator 4. User defined channel sets associated with channelset icons 3430 and 3432 may contain content (e.g., channels andepisodes) as defined by the user or a friend or family member of theuser. In addition, the user may be allowed to edit some of theattributes related to the content provider defined channel setsrepresented by channel set icons 3434, 3436, and 3438, such as the orderthat the channel sets are presented in the portal, but may not beallowed to alter the content (e.g., channels and episodes) containedwithin the channel set. In other words, the user's ability to changeattributes related to the voluntarily subscribed content providerdefined channel sets is less restricted than the user's ability tochange attributes related to required content provider defined channelsets, but is more restricted than the user's ability to changeattributes related to user-defined channel sets.

The add set icon 3440 may allow a user to add channel sets to the portal(e.g., by subscribing to new content provider defined channel sets or byplacing additional subscribed channel sets that were previously removedfrom the portal). The channel set sorting input controls 3450 and 3452allow a user to define how the channel sets (other than any requiredchannel sets) are arranged within the portal. A user selection of theupdated time channel set sorting input control 3450 may cause thechannel sets (other than any required channel sets) to be sorted by thetime of the most recent update. For example, the channel set with themost recently updated episode may be displayed first within the portalafter the required channel sets. A user selection of the customizedorder channel set sorting input control 3452 may allow the user tocustomize the order in which the channel sets (other than any requiredchannel sets) are presented in the portal. For example, the order thatthe channel sets are listed in interface 3400 may indicate to the userthe order in which the channels are presented in the portal after therequired channel sets. Interface 3400 also may allow a user to changethe order that the channels sets (other than any required channel sets)are presented in the portal by altering the position of channel seticons 3430, 3432, 3434, 3436, and 3438 in interface 3400, for example,by dragging and dropping one of channel set icons 3430, 3432, 3434,3436, and 3438 into a new position.

The interface 3400 also includes a preview input control 3480 and a saveinput control 3490. The preview input control 3480 enables a user topreview any changes that the user made to the channel sets displayed ininterface 3400. The save input control 3490 enables a user to save theuser's settings related to the channel sets displayed in interface 3400.

Returning to FIG. 32, the system 200 accesses system settings thatdefine one or more required sets of channels (3208). For example, thesystem 200 may access system settings that define one or more requiredsystem operator defined sets of channels, one or more content providerdefined sets of channels, and attributes related to the required sets ofchannels. Settings related to attributes of the required sets ofchannels may include an order for presenting the required sets ofchannels in the portal, a position for one or more of the required setsof channels to be displayed in the portal, an order of channels withineach of the required sets of channels, and/or a name and display formatfor one or more sets of the required sets of channels. For example, aposition of one of the sets of required sets of channels to be displayedin the portal may define specific real estate within the portal displaythat the required set of channels is to occupy (e.g., a center positionon the portal display such that the required set of channels is readilyviewable by the user when initially accessing the content deliverynetwork).

The system 200 defines a portal for the user identity based on theaccessed user-defined settings and the accessed system settings (3210).For example, the system 200 may integrate both the accessed user-definedsettings and the accessed system settings to define a contentpresentation portal for the user identity. Defining the portal mayinclude using the user-defined and system settings to determine contentto be displayed in the user's portal and how the content should bepresented to the user in the portal. In other words, based on both theuser-defined and system settings, the system 200 may compile appropriatechannels into user-defined sets of channels, compile appropriatechannels into required sets of channels (both system operator definedand content provider defined), access appropriate content providerdefined sets of channels (e.g., non-required content provider definedsets of channels), apply appropriate names to the sets of channels, andpresent each of the accessed and compiled sets of channels in the portalaccording to the user-defined and system settings.

The system 200 controls display of the defined portal for the useridentity (3212). For example, the system 200 displays the contentpresentation portal to the user as defined by the user-defined andsystem settings. In addition, the system 200 receives inputs from theuser and allows the user to navigate among the content presented to theuser in the portal. A more detailed description of the contentpresentation portal is provided below in conjunction with FIG. 35.

FIG. 35 illustrates an example content presentation portal 3500. Asshown in FIG. 35, the content presentation portal 3500 includes a useridentity label 3510, a representation of an active set of channels 3520,representations of inactive sets of channels 3530 and 3540, and severalinput controls 3550, 3560, 3570, 3580, and 3590. The user identity label3510 indicates the user identity associated with the contentpresentation portal 3500.

The representations of sets of channels 3520, 3530, and 3540 present thechannels within the set of channels in a stacked view. For example, thefirst channel in each set of channels is displayed such that it appearsto lie on top of a stack of other channels within the set. Therepresentation of the active set of channels 3520 includes a playbackarea in which content from an active channel of the active set ofchannels is displayed and video associated with an episode on the activechannel is streamed for a user to view. The portal may allow a user toview a streaming episode in a full-screen view by selecting any portionof the playback area, for example. Alternatively or in addition, aselectable full-screen icon may be displayed or a designated button on aremote control may be used to transition the streaming episode into andout of a full-screen view. In addition, the representation of the activeset of channels 3520 includes descriptive text below the playback area.The descriptive text may include a name of the set of channels (e.g.,CTS Selection), a name of the channel of the active set of channel thatis presently displayed in the playback area (e.g., Travel Stories), anindication of the number of channels in the active set of channels(e.g., Ch. 1 of 27), and a title of the presently streaming episode fromthe active channel (e.g., Mountain Biker gets taken out by buck).Additionally, the representation of the active set of channels 3520includes episode selection arrows above and below the playback area. Theepisode selection arrows enable a user to cycle through availableepisodes within the active channel in the active set of channels. Insome implementations, the system 200 immediately begins playing theselected episode as the user cycles through the episodes.

In some examples, the system 200 automatically rotates through theepisodes in the active channel and the channels in the active setdisplayed in the representation of the active set of channels 3520. Inthese examples, after the first episode in the first channel in theactive set completes, the system 200 automatically begins displayingvideo content from the second episode in the first channel in the activeset. The system 200 may cycle through all of the episodes in the firstchannel in the active set and then move to episodes in the secondchannel in the active set. The system 200 may cycle through all of thechannels in the active set in this manner and return to the firstepisode in the first channel in the active set after all channels in theactive set have been played. Alternatively, after all channels in theactive set have been played, the system 200 may make the next set in theportal the active set.

Other techniques for automatically rotating through episodes, channels,and sets may be used. For example, rather than playing all episodes froma channel in the active set, the system 200 may select one episode fromthe channel and then move to the next channel after the episodecompletes. In this example, the system 200 goes through the channels inthe active set more quickly, enabling the user to get a sense of thecontent in all channels in the active set more quickly. The number ofepisodes played for each channel may be selected by a content curator(or the user) and the episode(s) to display may be defined by the orderof the episodes in the channel, selected by the content curator, orrandomly selected. As the system 200 cycles through the channels overand over, the system 200 may, to the extent possible, select a newepisode (e.g., an episode that has not been played) each time a channelrepeats. In some implementations, the system 200 may randomly select theepisode and the channel in the active set to display. In addition,although the description has focused on the playing of the episodes, thesystem 200 also may display content preview files in the representationof the active set of channels 3520.

The representations of the inactive sets of channels 3530 and 3540 maybe positioned on either side of the representation of the active set ofchannels 3520. The representations of the inactive sets of channels 3520and 3540 may include features similar to the representation of theactive set of channels, but may be shaded and of a smaller size toindicate that the representations of the inactive sets of channels 3530and 3540 are inactive. In addition, the playback area of therepresentations of the inactive sets of channels 3530 and 3540 mayinclude a still image of either the first channel or a most recentlyviewed channel contained within the inactive sets of channels. Also, thedescriptive text of the representations of the inactive sets of channels3530 and 3540 may be abbreviated. In some implementations, the portal3500 may allow a user to select one of the representations of theinactive sets of channels and, in response, the system 200 may cyclethrough the available sets of channels by transitioning the selectedinactive set of channels into an active set of channels displayed in therepresentation of the active set of channels 3520. Thus, the user may beable to cycle through all available sets of channels associated with theuser's user identity by repeatedly selecting the representation ofinactive set of channels 3530. And, by selecting the representation ofinactive set of channels 3540, the user may cycle through the availablesets of channels in the opposite direction. In some implementations, thesystem 200 immediately begins playing a first episode in a first channelof the new active set of channels after the user cycles to the newactive set of channels. For example, when the user cycles to the XYZNews set of channels, the first episode of the first XYZ News channelwill begin playing.

The first set of channels displayed by system 200 when the portal islaunched in the representation of the active set of channels 3520 may bea required set of channels, for example. The set of channels inrepresentation of inactive set of channels 3530 may be, for example, auser-defined set of channels and the set of channels displayed inrepresentation of inactive set of channels 3540 may be, for example, anon-required content provider defined set of channels. In someimplementations, when the portal is initially launched, the system 200immediately begins playing the first episode of the active channel inthe active set of channels.

The input controls include a select input control 3550, a home inputcontrol 3560, a previous input control 3570, a flip channel inputcontrol 3580, and a show menu input control. The select input control3550 may enable a user to select various menu commands, input controlsassociated with points of interest, or to play and pause contentepisodes displayed in the representation of the active set of channels.The home input control 3560 may enable a user to return the portal to ahome display, for example. The previous input control 3570 may enable auser to return to a previously viewed episode, channel, or set ofchannels after the user has navigated away from the previously viewedepisode, channel, or set of channels. The flip channel input control3580 may enable a user to cycle through channels within the active setof channels. In some implementations, the system 200 immediately beginsplaying a first episode in a displayed channel after the user cycles tothe channel. For example, when the system 200 receives a user selectionof the flip channel input control 3580, the system 200 displays thesecond channel in the active set of channels and begins playing a firstepisode in the second channel. The show menu input control 3590 mayenable the user to view a menu associated with the portal 3500. Forexample, a user may access interfaces 3300 and 3400 from a portal menu.

As shown in FIG. 35, the portal may allow the user to trigger the inputcontrols in a variety of ways. For example, the user may be able totrigger the select input control 3550 by 1) clicking with a mouse ortouch pad on the input control 3550, 2) by touching the input control3550 on a touch screen, 3) by pressing an “Enter” button on a keyboardor keypad, or 4) by pushing an “OK” button on a remote control.

In some implementations, required sets of channels and channels withinrequired sets of channels are selected based on attributes of a useridentity associated with a content presentation portal. For example,required sets of channels may be selected based on viewing markets,demographics, viewing history, interaction with points of interest, timeof day, or seasons.

FIG. 36 illustrates a process 3600 for defining a content presentationportal. The operations of the process 3600 are described generally asbeing performed by the system 200. The operations of the process 3600may be performed by one of the components of the system 200 (e.g., theserver system 210) or may be performed by a combination of thecomponents of the system 200. In some implementations, operations of theprocess 3600 may be performed by one or more processors included in oneor more electronic devices.

The system 200 identifies one or more attributes of the user identityrequesting access to the content delivery network (3602). For example,attributes of the user identity may include a viewing market withinwhich a user associated with the user identity is located, demographicsof the user identity, a psychographic profile of the user identity,channels to which the user identity is subscribed, a viewing history ofthe user identity, a history of interaction with points of interest bythe user identity, a time of day, or a season of the year.

The system 200 accesses one or more rules related to defining systemsettings (3604). For example, rules related to defining system settingsmay include rules defining what channels to include in required sets ofchannels based on one or more of the user identity attributes, rulesdefining an order of channels within a required set of channels based onone or more of the user identity attributes, rules defining what sets ofchannels should be required for the user identity based on one or moreof the user identity attributes, and/or rules defining an order ofrequired sets of channels in the portal based on one or more useridentity attributes. For instance, a rule may require that a set ofchannels defined by a preferred content provider (e.g., XYZ News) be arequired set of channels and be positioned first in user portals of alluser identities in a specific viewing market (e.g., a Washington D.C.viewing market). Rules may be used to comply with agreements withcontent providers or they may be used to promote well performing contentproviders. Additionally, rules may be different in different viewingmarkets and geographical regions, for example. In some implementations,the rules may be prioritized or ranked. The rules may be dynamic andadaptive to changes in content, content providers, or advertisers, forexample.

The system 200 analyzes the one or more rules related to defining systemsettings with respect to the one or more attributes of the user identity(3606). For example, the system 200 analyzes the one or more rulesrelated to defining system settings with respect to the user identityattributes to determine which rules to apply to the user identityattributes. For example, system 200 may analyze the one or more rules todetermine which rules apply in the viewing market within which the useridentity is located. Different content providers may serve differentviewing markets, for instance.

The system 200 determines the system settings based on the analysis(3608). For example, system 200 applies the appropriate rules to theuser identity attributes to determine the appropriate channels toinclude in required sets of channels for the user identity, an order ofthe channels in the required sets of channels for the user identity,required sets of channels for the user identity, and/or an order for therequired sets of channels to be presented in the user identity's portal.For example, the rules may indicate that a viewing market of the useridentity (e.g., Washington D.C.) is assigned the XYZ News set ofchannels and, thus, may determine the XYZ News set of channels as arequired set of channels for the user identity. In addition, the system200 may determine, based on the rules and the user identity's viewinghistory, that the XYZ News set of channels should be the first set ofchannels displayed in the user identity's content presentation portal.

The operations described above with respect to FIGS. 32-36 may beperformed on any suitable media device (e.g., a television, a mobiledevice, a computer, etc.) that is capable of outputting the interfacesdescribed with respect to FIGS. 32-36 and receiving input from asuitable input device (e.g., a remote control device, a touch screeninterface, a mouse and keyboard, etc.) in performing the operationsdescribed with respect to FIGS. 32-36. For example, a portal may bedisplayed on a television and interacted with through commands receivedfrom a remote control device operated by a user perceiving the portal.In this example, the user may navigate through sets of channels withinthe portal by providing input using the remote control device and thennavigate through channels within a selected set of channels by providinginput using the remote control device. In another example, a portal maybe displayed on a mobile device and interacted with through input (e.g.,touch events, swiping gestures, etc.) applied to a touch screeninterface of the mobile device. In this example, the user may navigatethrough sets of channels within the portal by providing swiping gestures(e.g., horizontal swiping gestures in a left or right direction) to thetouch screen interface of the mobile device and then navigate throughchannels within a selected set of channels by providing swiping gestures(e.g., vertical swiping gestures in an up or down direction) to thetouch screen interface of the mobile device. In yet another example, aportal may be displayed on a computer and interacted with throughcommands received from a mouse and/or keyboard operated by a userperceiving the portal. In this example, the user may navigate throughsets of channels within the portal by providing input using the mouseand/or keyboard and then navigate through channels within a selected setof channels by providing input using the mouse and/or keyboard.

In some implementations, a content curator or a system operator maycompile an index channel consisting of previews or highlights fromselected episodes of a single channel or from several channels so as tocreate a “video index” channel. For example, in some implementations,the index channel provides the user with a short preview of a particularepisode and at the end of the preview a point of interest will bepresented requesting whether the user would like to watch the fullepisode. In this example, if the user responds affirmatively to thepoint of interest, for example, by pressing an appropriate button on hisremote control, then the portal will automatically exit the indexchannel and display the channel containing the full episode. Conversely,if the user does not respond to the point of interest, then a shortpreview of the next episode in the index channel will be played. Theindex channel may enable a user to preview and select from variousepisodes included within a single channel, various channels includedwithin a single set of channels, or various sets of channels availableto the user within the content delivery network. In other words, theindex channel functions as a directory for episodes, channels, and setsof channels available to the user from within the content deliverynetwork and provides the user with an easy way to quickly browse throughcontent and make a decision to either continue browsing or beginwatching a full episode.

The action to take a user from one video to another video may be called“hyper-video.” Once a user hyper-videos to an episode from the indexchannel (e.g., by responding affirmatively to the point of interest thatrequested whether the user would like to watch the full video), the usercan select a “go back” input control (e.g., by pressing a go back buttonon a remote) at any time and the portal will return to the user's priorlocation in the index channel before the user hyper-videoed to theepisode.

FIG. 37 illustrates a process 3700 for handling index channels and hypervideo control. The operations of the process 3700 are describedgenerally as being performed by the system 200. The operations of theprocess 3700 may be performed by one of the components of the system 200(e.g., the server system 210) or may be performed by a combination ofthe components of the system 200. In some implementations, operations ofthe process 3700 may be performed by one or more processors included inone or more electronic devices.

The system 200 receives, from a user identity, input to display an indexchannel associated with a content delivery network (3702). For example,system 200 receives an input from a user identity indicating that theuser identity would like to view an index channel. An index channel mayenable a user associated with the identity to preview content that isavailable to the user identity within the content delivery network 202.For instance, an index channel may provide the user identity withmultiple preview files that are related to content files stored on thecontent delivery network 202.

In some implementations, multiple different index channels may beavailable for the user identity to view. In these implementations, theinput to display an index channel may be a user selection of a specificindex channel. For example, one index channel may provide the useridentity with previews of content contained within a specific channel(e.g., previews of episodes contained in a local XYZ News channel),while a second index channel may provide the user identity with previewsof content contained within a specific set of channels (e.g., previewsof episodes within channels contained in an XYZ News set of channels).In some examples, the index channel definition may be a genericdefinition that is common to all user identities, while in otherexamples the index channel definition may be unique to some or each useridentity. Additional implementations may include multiple index channeldefinitions, some index channel definitions that are generic, some indexchannel definitions that are unique to subsets of user identities (e.g.,a subset of users located within a common viewing market), and/or someindex channel definitions that are unique to each user identity.

The system 200 accesses an index channel definition for the useridentity (3704). For example, an index channel definition may includesettings that define the content and various attributes of an indexchannel. Settings may include a listing of episodes, channels, or setsof channels and associated preview files to be included in the indexchannel, a viewing sequence for the preview files, and a predefineddelay time between playing consecutive previews. Index channels may bedefined by an operator of the delivery network, by a content provider orcontent curator, or by a user. The index channel definition will bedescribed in more detail with respect to FIGS. 38, 39, and 40.

In some implementations, the index channel definition may be a genericdefinition that is common to all user identities, while in otherimplementations the index channel definition may be unique to some oreach user identity. Additional implementations may include multipleindex channel definitions, some index channel definitions that aregeneric, some index channel definitions that are unique to subsets ofuser identities (e.g., a subset of users located within a common viewingmarket), and/or some index channel definitions that are unique to eachuser identity.

The system 200 controls display of the index channel by displaying thecontent preview files in the sequence defined by the accessed indexchannel definition (3706), and the system 200 receives a selection toview a content file that corresponds to a content preview file beingdisplayed (3708). For example, the system 200 displays the selectedindex channel in the user identity's content presentation portal. Inthis example, the system 200 may initially start playing a first contentpreview file in the sequence of preview files defined by the accessedindex channel definition. The system 200 also may receive input from auser while a preview file is playing enabling the user to view a contentfile that corresponds to the playing preview file. For instance, while auser is viewing a preview file for an episode of Dateline XYZ News, theuser may press a button (e.g., an “OK” or “Select” button) on a remotecontrol to view the full episode. Conversely, if a playing preview fileends without the system 200 receiving a user input to view a fullepisode associated with the preview file, the system 200 may continue tomonitor for a user input for a predetermined period of time beforeidentifying and playing a next preview file in the sequence of previewfiles defined in the index channel definition. In some implementations,the system 200 may present an interface element (e.g., a link point ofinterest to the full episode) prompting the user to provide an input towatch the full episode associated with the ended preview file. Thesystem 200 may continue playing preview files in the sequence defined bythe index channel definition in the described manner until the system200 receives an input indicating that the user would like to view a fullepisode. Details regarding the display format for presenting the indexchannel to the user are described with respect to FIGS. 41-46 below.

The system 200 controls display of the selected content file (3710).Upon receiving a selection to view a content file that corresponds to aplaying preview file, the system accesses the associated content file(e.g., an episode) and immediately begins playing the content file fromthe beginning. For example, after a user selects to view the episodeassociated with a preview that the user was watching, the system 200 mayimmediately display the episode in a full screen view and begin playingthe episode. Alternatively, for example, after the user selects to viewthe episode, the system 200 may display content presentation portal 3500and begin playing the selected episode in the representation of theactive channel set 3520.

The system 200 returns to display of the index channel at a positionwithin the sequence that corresponds to the received selection (3712).For example, the system 200 returns to a display of the index channel atthe same position within the sequence of preview files that the user wasviewing when the user selected to view a content file associated withthe preview file. Therefore, the user may continue viewing the indexchannel where the user left off without the need to navigate back to thesame position. In some implementations, position within the sequence ofpreview files to which system 200 returns in the index channel is thenext preview file in the sequence after the preview file which the userselected. For example, if the sequence of preview files included previewfile A followed by preview file B and then by preview file C, and a userselected to watch the content file associated with preview file A, thesystem 200, when returning to display of the index channel, will beginplaying preview file B. Some implementations may incorporate viewinghistory information about the user's user identity when determining aposition in the preview file sequence to which to return. For example,in such implementations, the user's viewing history information mayindicate that the user has previously viewed the content file associatedwith preview file B. In this example, when the system 200 returns todisplay the index channel after having received the user's selection toview the content file associated with preview file A, the system 200 mayskip preview file B based on the user's viewing history information andinstead begin playing preview file C.

In addition, there are several methods by which the system 200 mayreturn to displaying the index channel from playing a content file(e.g., an episode). In some implementations, the system 200 may receivea user input to return to the system index channel at any time whileplaying a content file. In some examples, when the user selected contentfile is finished playing the system 200 may automatically return to theindex channel at the position within the sequence that corresponds tothe received selection. In additional implementations, when the userselected content file is finished playing the system 200 may identify anext content file organized in the same channel as that of the selectedcontent file and begin playing the second content file. In theseimplementations, the system 200 may continue playing content files fromthe selected file's channel until a user input is received to return tothe index channel.

In order to return to the position within the sequence that correspondsto the received selection, the system 200 may store an indication of theposition within the sequence of preview files at a time that the system200 receives the user's selection to view a content file. For example,the system may store an indication of the position (e.g., a pointer)within the sequence of preview files in an electronic storage location(e.g., RAM). In this example, the system 200 then may access the storedindication of the position when the system 200 returns to the indexchannel to begin playing the index channel at the position within thesequence that corresponds to the received selection. In someimplementations, the system 200 may encapsulate the position in alocation address of the selected content file. In these implementations,the system 200 may identify the position encapsulated in the locationaddress of the content file when the system 200 returns to the indexchannel to begin playing the index channel at the position within thesequence that corresponds to the received selection.

In some implementations, index channels and episodes may be nested. Inthese implementations, a user may transition from a first index channelto a second index channel that is different than the first index channeland nested within the first index channel. From the second indexchannel, the user may then transition to an episode or another indexchannel nested within the second index channel. When the usertransitions to an episode within the second index channel, the user mayreturn from the episode to the second index channel at a positioncorresponding to the selection of the episode and then transition backto the first index channel at a position corresponding to the selectionof the second index channel. Any number of nesting relationships may beused in index channels and episodes within the content delivery networkand users may traverse through the nesting relationships using thetechniques described throughout this disclosure.

FIGS. 38 and 39 illustrate example interfaces 3800 and 3900 for definingindex channels. Interfaces such as the examples shown may be used bycontent delivery system operators (e.g., a business that runs andmaintains system 200) or content providers (e.g., a group of contentcurators from a television station) to create index channel definitionsfor use by end users. For example, a content delivery system operatormay define generic index channels for use by all users of the system200. Similarly, a content provider may define one or more index channelsenabling a user to navigate through and preview channels and/or sets ofchannels created by the provider's content curators. In someimplementations, end users also may be able to define their own indexchannels.

Referring to FIG. 38, interface 3800 illustrates an example interfacefor defining an index channel for sets of channels (e.g., a set levelindex channel). Interface 3800 includes a set level index channelviewing pane 3810 and an available sets viewing pane 3830. The set levelindex channel viewing pane 3810 displays icons representing the sets ofchannels that have been added to the set level index channel. Forexample, a Set 1 icon 3811, a Set 2 icon 3812, a Set 3 icon 3813, a Set4 icon 3814, a Set 5 icon 3815, a Set 6 icon 3816, and a Set 7 icon 3817have each been added to the set level index channel. The set levelviewing pane 3810 also includes viewing pane scroll inputs 3820 and 3822that enable a user to scroll through the channel set icons representingchannel sets included in the set level index channel. For example, theset level index channel may include more channel set icons than can bedisplayed within the set level index channel viewing pane 3810. In thisexample, the scroll inputs 3820 and 3822 allow a user to scroll ineither direction through all of the channel set icons that have beenadded to the set level index channel. In some implementations, the orderin which the channel set icons are displayed within the set level indexchannel viewing pane 3810 defines a sequence in which preview files fromthe included channel sets should be played in the set level indexchannel. In such implementations, the user may alter the sequence bydragging and dropping channel set icons from one position in the setlevel index channel viewing pane 3810 to a new position within the setlevel index channel viewing pane 3810. For example, if a user wantspreview files associated with Set 3 to play first, the user may drag theSet 3 icon 3813 from its current position to a new position to the leftof the Set 1 icon 3811.

The available sets viewing pane 3830 displays all of the channel setsthat are available for the user to add to the set level index channel.For example, the available channel viewing pane 3830 includes a Set Aicon 3831, a Set B icon 3832, a Set C icon 3833, a Set D icon 3834, aSet E icon 3835, a Set F icon 3836, and a Set G icon 3837. As with theset level index channel viewing pane 3810, all of the channel setsavailable to the user may not be displayed within the available channelviewing pane 3830, so the available sets viewing pane 3830 also mayinclude viewing pane scroll inputs 3840 and 3842 to allow a user toscroll through all of the available channel sets. In addition, theavailable sets viewing pane 3830 includes a search input box 3845. Thesearch input box may enable a user to enter a textual search query for aspecific channel set and upon receiving the textual search query thechannel sets displayed in the available sets viewing pane 3830 may befiltered to show only those channel sets that match the textual searchquery.

Channel sets may be added to the set level index channel by dragging anddropping a set icon from the available sets viewing pane 3830 to the setlevel index channel viewing pane 3810. Likewise, channel sets may beremoved from the set level index channel by dragging and dropping a seticon from the set level index channel viewing pane 3810 to the availablesets viewing pane 3830.

In addition, the interface 3800 includes several index channel settinginputs 3850, 3860, and 3870. The channels previewed before moving tonext set setting input 3850 enables a user to define the number previewfiles from each set of channels to be played. As shown, the settinginput 3850 enables a user to select from three options: playing all ofthe preview files associated with each channel set, playing one previewfile associated with each channel set, or a custom option in which theuser may define the number of preview files to play from each channelset. After the defined number of preview files have been played, theindex channel will begin playing one or more preview files from the nextchannel set in the sequence of channel sets as defined in the set levelindex channel preview pane 3810.

The time between previews setting input 3860 enables a user to definethe length of time that the system 200 will monitor for a user selectionof content associated with a preview file after the preview file hasfinished playing and before beginning to play the next preview file inthe sequence of preview files for the index channel. For example, asshown, a user has entered a three second monitoring period in thesetting input 3860. In this example, when a preview file finishesplaying in the index channel the system 200 will monitor for a userinput for three seconds before playing the next preview file in thedefined sequence.

The preview selection setting input 3870 enables a user to choose anorder in which multiple preview files from each channel set should beplayed. As shown, the setting input 3870 provides a user the options ofplaying preview files from each set of channels in an order defined bythe channel or a random order. For example, an order defined by channelmay indicate that preview files associated with channels within each setof channels should be played in the order in which the channels in theset of channels are ordered until the proper number of preview files (asindicated by the setting input 3850) have been played. Conversely, arandom order may indicate that the system 200 will randomly choosepreview files that are associated with a set of channels to be playeduntil the proper number of preview files (as indicated by the settinginput 3850) have been played.

Referring to FIG. 39, interface 3900 illustrates an example interfacefor defining an index channel for channels (e.g., a channel level indexchannel of channels in Set 1). Interface 3900 includes a Set 1 indexchannel viewing pane 3910 and an available channels viewing pane 3930.The Set 1 index channel viewing pane 3910 displays icons representingthe channels that have been added to the Set 1 index channel from amongall the channels available in channel Set 1. For example, a Channel 1icon 3911, a Channel 2 icon 3912, a Channel 3 icon 3913, a Channel 4icon 3914, a Channel 5 icon 3915, a Channel 6 icon 3916, and a Channel 7icon 3917 have each been added to the Set 1 index channel. The Set 1index channel viewing pane 3910 also includes viewing pane scroll inputs3920 and 3922 that enable a user to scroll through the channel iconsrepresenting channels included in the Set 1 index channel. For example,the Set 1 index channel may include more channel icons than can bedisplayed within the Set 1 index channel viewing pane 3910. In thisexample, the scroll inputs 3920 and 3922 allow a user to scroll ineither direction through all of the channel icons that have been addedto the set level index channel. In some implementations, the order inwhich the channel icons are displayed within the Set 1 index channelviewing pane 3910 defines a sequence in which preview files from theincluded channels should be played in the Set 1 index channel. In suchimplementations, the user may alter the sequence by dragging anddropping channel icons from one position in the Set 1 index channelviewing pane 3910 to a new position within the Set 1 index channelviewing pane 3910. For example, if a user wants preview files associatedwith Channel 3 to play first, the user may drag the Channel 3 icon 3913from its current position to a new position to the left of the Channel 1icon 3911.

The available channels viewing pane 3930 displays all of the channelsthat are available in Set 1. For example, the available channels viewingpane 3930 includes a Channel A icon 3931, a Channel B icon 3932, aChannel C icon 3933, a Channel D icon 3934, a Channel E icon 3935, aChannel F icon 3936, and a Channel G icon 3937. As with the Set 1 indexchannel viewing pane 3910, all of the channels available in Set 1 maynot be displayed within the available channels viewing pane 3930, so theavailable channels viewing pane 3930 also may include viewing panescroll inputs 3940 and 3942 to allow a user to scroll through all of theavailable channels. In addition, the available channels viewing pane3930 includes a search input box 3945. The search input box may enable auser to enter a textual search query for a specific channel and uponreceiving the textual search query the channel icons displayed in theavailable channels viewing pane 3930 may be filtered to show only thosechannel icons that match the textual search query.

Channels may be added to the Set 1 index channel by dragging anddropping a channel icon from the available channels viewing pane 3930 tothe Set 1 index channel viewing pane 3910. Likewise, channels may beremoved from the Set 1 index channel by dragging and dropping a channelicon from the Set 1 index channel viewing pane 3910 to the availablechannels viewing pane 3930.

In addition, the interface 3900 includes several index channel settinginputs 3950, 3960, and 3970. The episodes previewed before moving tonext set setting input 3950 enables a user to define the number previewfiles from each channel to be played. As shown, the setting input 3950enables a user to select from three options: playing all of the previewfiles associated with each channel, playing one preview file associatedwith each channel, or a custom option in which the user may define thenumber of preview files to play from each channel. After the definednumber of preview files have been played, the Set 1 index channel willbegin playing one or more preview files from the next channel in thesequence of channels as defined in the Set 1 index channel preview pane3910.

The time between previews setting input 3960 enables a user to definethe length of time that the system 200 will monitor for a user selectionof content associated with a preview file after the preview file hasfinished playing and before beginning to play the next preview file inthe sequence of preview files for the Set 1 index channel. For example,as shown, a user has entered a three second monitoring period in thesetting input 3960. In this example, when a preview file finishesplaying in the Set 1 index channel the system 200 will monitor for auser input for three seconds before playing the next preview file in thedefined sequence.

The preview selection setting input 3970 enables a user to choose anorder in which multiple preview files from each channel set should beplayed. As shown, the setting input 3970 provides a user the options ofplaying preview files from each channel in an order defined by thechannel or a random order. For example, an order defined by the channelmay indicate that preview files associated with episodes within eachchannel should be played in the order in which the episodes in thechannel are ordered until the proper number of preview files (asindicated by the setting input 3950) have been played. Conversely, arandom order may indicate that the system 200 will randomly choosepreview files that are associated with a channel to be played until theproper number of preview files (as indicated by the setting input 3950)have been played.

In some implementations, index channel definitions are determined for auser identity based on attributes of the user identity. For example,index channel definitions may be determined based on channel set/channelsubscriptions, viewing history, viewing markets, demographics,interaction with points of interest, time of day, or seasons.

FIG. 40 illustrates an example hierarchy 4000 of index channels. Asshown in FIG. 40, index channels may be defined and stored in ahierarchy that reflects relationships among the various index channelsused by the system 200. The relationships between index channels may bespecified by different levels of index channels. For instance, set levelindex channels may be a highest level of index channels in which theentries in the set level index channels are sets of channels. Episodelevel index channels may be a lowest level of index channels in whichthe entries in the episode level index channels are episodes. Channellevel index channels may be between the set level index channels and theepisode level index channels and the entries in the channel level indexchannels are channels. Users may navigate the hierarchy of indexchannels starting with a set level index channel that includes a list ofsets, moving to a channel level index channel that includes a list ofchannels within a set, and, finally, moving to an episode level indexchannel that includes a list of episodes within a channel.

As shown in FIG. 40, the hierarchy 4000 includes a set level indexchannel 4010 that includes sets from a first set to an nth set. Thefirst set in the set level index channel 4010 is related to a first setindex channel 4020 that includes channels organized within the first setand the nth set in the set level index channel 4010 is related to an nthset index channel 4030 that includes channels organized within the nthset. The first set index channel 4020 includes channels from a firstchannel in the first set to an nth channel in the first set and the nthset index channel 4030 includes channels from a first channel in the nthset to an nth channel in the nth set.

The first channel in the first set index channel 4020 is related to afirst channel from first set index channel 4040 that includes episodesorganized within the first channel in the first set and the nth channelin the first set index channel 4020 is related to an nth channel fromfirst set index channel 4050 that includes episodes organized within thenth channel in the first set. The first channel from first set indexchannel 4040 includes episodes from a first episode in the first channelfrom the first set to an nth episode in the first channel from the firstset and the nth channel from first set index channel 4050 includesepisodes from a first episode in the nth channel from the first set toan nth episode in the nth channel from the first set.

The first channel in the nth set index channel 4030 is related to afirst channel from nth set index channel 4060 that includes episodesorganized within the first channel in the nth set and the nth channel inthe nth set index channel 4030 is related to an nth channel from nth setindex channel 4070 that includes episodes organized within the nthchannel in the nth set. The first channel from nth set index channel4060 includes episodes from a first episode in the first channel fromthe nth set to an nth episode in the first channel from the nth set andthe nth channel from nth set index channel 4070 includes episodes from afirst episode in the nth channel from the nth set to an nth episode inthe nth channel from the nth set.

The index channel 4010 has a parent relationship to the index channels4020 and 4030 and a grandparent relationship to the index channels 4040,4050, 4060, and 4070. The index channels 4020 and 4030 have a childrelationship to the index channel 4010 and a parent relationship to theindex channels 4040, 4050, 4060, and 4070. The index channels 4040,4050, 4060, and 4070 have a child relationship to the index channels4020 and 4030 and a grandchild relationship to the index channel 4010.

FIG. 41 illustrates an example display of an index channel. The displayof the index channel may be presented on any suitable display device,such as a television, a computer display, a tablet computer, or asmartphone, and may be driven by a media player connected to the contentdelivery network. In the example shown in FIG. 41, the display of theindex channel includes a display area 4110 that displays a contentpreview file and a set index channel representation 4120. The displayarea 4110 displays content (e.g., a video) of a content preview filefrom one of the sets shown in the set index channel representation 4120.A user may provide input selecting the display area 4110 to cause a fullscreen view of the episode associated with the displayed content previewfile to be displayed.

The set index channel representation 4120 illustrates the sets ofchannels arranged in the set index channel representation 4120. In thisexample, the set index channel representation 4120 includes the sets ofchannels illustrated in FIG. 34 such that the set index channelrepresentation 4120 includes all of the sets of channels included in theportal of the user identity. As shown, the set index channelrepresentation 4120 includes a preferred curator set 4121, a system set4122, a user's set 4123, Ken's set 4124, Curator 4 set 4125, Curator 6set 1 4126, and Curator 6 set 2 4127. The double lines in the center ofthe set index channel representation 4120 indicate the set thatcorresponds to the content preview file being displayed in the displayarea 4110. In the example shown in FIG. 41, a content preview fileselected from Ken's set 4124 has just completed playing in the displayarea 4110.

In some implementations, a user may be able to provide input to move thesets in the set index channel representation 4120 to cause a differentset to be positioned within the double lines and, as a consequence,change the position within the set index channel and cause a contentpreview file from a different set of channels to be displayed. In theseimplementations, the sets in the set index channel representation 4120may be moved using left or right arrow inputs or through a click ortouch and drag operation.

In addition, a user may provide input selecting one of the sets in theset index channel representation 4120. Selection of a set represented inthe set index channel representation 4120 may cause display of an indexchannel for the selected set. In this regard, selection of a setrepresented in the set index channel representation 4120 may result intraversing to a lower level in the hierarchy of index channels shown inFIG. 40. For instance, selection of a set represented in the set indexchannel representation 4120 may result in the display of the indexchannel shown in FIG. 41 being replaced with the display of the indexchannel shown in FIGS. 43 and 44, discussed below.

In some examples, the set index channel representation 4120automatically rotates to the next set in the set index channel as eachcontent preview file completes and the user does not provide input toview the episode associated with the content preview file. In theseexamples, when a content preview file completes, the system 200 maydisplay a message 4130 indicating that the content preview file will beswitched to a new content preview file to the extent the user does notprovide input selecting to view the episode corresponding to the contentpreview file within a threshold period of time. As shown in FIG. 41, thesystem 200 has detected completion of the content preview file selectedfrom Ken's set 4124, displays the message 4130 to indicate that the userhas three seconds to select the content preview file selected from Ken'sset 4124, waits for three seconds for the user to provide inputselecting the content preview file, and then moves to a content previewfile from the next set within the set index channel based on adetermination that input selecting the content preview file has not beenreceived by the expiration of the three seconds. Providing the message4130 and waiting a short period of time may be helpful to alert the userthat the content preview file has ended and the system 200 istransitioning to the next set in the set index channel. The period oftime that the system 200 waits prior to transitioning to the next setmay be defined by a content curator and/or the user.

FIG. 42 illustrates the display of the index channel shown in FIG. 41after the system has moved to the next set within the set index channel.As shown in FIG. 42, a content preview file from the Curator 4 set 4125has been selected and begun playing in the display area 4110. Inaddition, the sets included in the set index channel representation 4120have been rotated in accordance with the change in position within theset index channel. As shown, each of the sets 4122, 4123, 4124, 4125,4126, and 4127 have been moved one position to the left and the set 4121has been moved to the rightmost position in the set index channelrepresentation 4120. In this regard, the set index channel operates in acircular manner such that the system 200 continuously cycles through allof the sets in the set index channel representation 4120 while the setindex channel is displayed. In other implementations, the positions ofthe sets in the index may be fixed and the rightmost position in the setindex channel representation 4120 may be left unfilled or filled by apreviously undisplayed set, instead of the set 4121.

The system 200 may use a variety of techniques to select which contentpreview file from the set to display. For example, the system 200 mayuse the order of channels in the set and the order of episodes in thechannels to select the content preview file. In this example, when theindex channel first displays a particular set, the system 200 selects acontent preview file for the first episode arranged in the first channelin the particular set. The next time the index channel displays theparticular set the system may display a content preview file for thesecond episode arranged in the first channel in the particular set or acontent preview file for the first episode arranged in the secondchannel in the particular set, depending on the preference of thecontent provider associated with the particular set and/or the user.

In another example, the content provider associated with the particularset may select an order for the content preview files displayed for theparticular set that diverges from the order defined by the set orchannels within the set. For instance, although it may make sense toview a series of episodes in a channel chronologically, the contentprovider may select a content preview file from a later episode to bedisplayed first because the content preview file from the later episodemay present a more interesting storyline and may be more likely to getuser's interested in the channel. Similarly, although it may make senseto arranged channels in a set alphabetically, the content provider mayselect to display a content preview file from a channel that is arrangedlater in the alphabetic list first because that channel is the mostpopular.

Further, selection of the content preview file to display for a set maybe randomly selected. For example, when the index channel is positionedat a particular set, the system 200 may randomly select a channel withinthe set and then randomly select a content preview file from therandomly selected channel. In this example, rules may specify that allcontent preview files within the particular set must be displayed onceprior to any content preview files in the particular set being playedtwice. Rules also may specify that a content preview file from eachchannel must be displayed before any channel is repeated.

Although FIGS. 41 and 42 have been described in terms of the indexchannel moving to the next set after a single content preview file fromthe set has been played, other implementations are possible. Forinstance, the system 200 may play all content preview files from a setbefore moving to the next set. Alternatively, the system 200 may playone content preview file from each channel in a set before moving to thenext set. Any number or combination of content preview files may bedisplayed before moving to the next set and a content curator and/or theuser may define how the system 200 plays content preview files inautomatically moving through the set index channel.

FIG. 43 illustrates an example display of an index channel. The displayof the index channel may be presented on any suitable display device,such as a television, a computer display, a tablet computer, or asmartphone, and may be driven by a media player connected to the contentdelivery network. In the example shown in FIG. 43, the display of theindex channel includes a display area 4310 that displays a contentpreview file and a channel index channel representation 4320 thatcorresponds to a set of channels. The display area 4310 displays content(e.g., a video) of a content preview file from one of the channels shownin the channel index channel representation 4320. A user may provideinput selecting the display area 4310 to cause a full screen view of theepisode associated with the displayed content preview file to bedisplayed. Selection of the display area 4310 may result in tuning tothe channel associated with the displayed content preview file.

The channel index channel representation 4320 illustrates the channelsarranged in the channel index channel representation 4320. In thisexample, the channel index channel representation 4320 includes channelsorganized in a set of channels, such as a set of channels to which theuser has subscribed. As shown, the channel index channel representation4320 includes a first channel 4321, a second channel 4322, a thirdchannel 4323, a fourth channel 4324, a fifth channel 4325, a sixthchannel 4326, and a seventh channel 4327. The double lines in the centerof the channel index channel representation 4320 indicate the channelthat corresponds to the content preview file being displayed in thedisplay area 4310. In the example shown in FIG. 43, a content previewfile selected from the fourth channel 4324 has just completed playing inthe display area 4310.

In some implementations, a user may be able to provide input to move thechannels in the channel index channel representation 4320 to cause adifferent channel to be positioned within the double lines and, as aconsequence, change the position within the channel index channel andcause a content preview file from a different channel to be displayed.In these implementations, the channels in the channel index channelrepresentation 4320 may be moved using left or right arrow inputs orthrough a click or touch and drag operation.

In addition, a user may provide input selecting one of the channels inthe channel index channel representation 4320. Selection of a channelrepresented in the channel index channel representation 4320 may causedisplay of an index channel for the selected channel. In this regard,selection of a channel represented in the channel index channelrepresentation 4320 may result in traversing to a lower level in thehierarchy of index channels shown in FIG. 40. For instance, selection ofa channel represented in the channel index channel representation 4320may result in the display of the index channel shown in FIG. 43 beingreplaced with the display of the index channel shown in FIGS. 45 and 46,discussed below.

In some examples, the channel index channel representation 4320automatically rotates to the next channel in the channel index channelas each content preview file completes and the user does not provideinput to view the episode associated with the content preview file. Inthese examples, when a content preview file completes, the system 200may display a message 4330 indicating that the content preview file willbe switched to a new content preview file to the extent the user doesnot provide input selecting to view the episode corresponding to thecontent preview file within a threshold period of time. As shown in FIG.43, the system 200 has detected completion of the content preview fileselected from the fourth channel 4324, displays the message 4330 toindicate that the user has three seconds to select the content previewfile selected from the fourth channel 4324, waits for three seconds forthe user to provide input selecting the content preview file, and thenmoves to a content preview file from the next channel within the channelindex channel based on a determination that input selecting the contentpreview file has not been received by the expiration of the threeseconds. Providing the message 4330 and waiting a short period of timemay be helpful to alert the user that the content preview file has endedand the system 200 is transitioning to the next channel in the channelindex channel. The period of time that the system 200 waits prior totransitioning to the next channel may be defined by a content curatorand/or the user.

FIG. 44 illustrates the display of the index channel shown in FIG. 43after the system has moved to the next channel within the channel indexchannel. As shown in FIG. 44, a content preview file from the fifthchannel 4325 has been selected and begun playing in the display area4310. In addition, the channels included in the channel index channelrepresentation 4320 have been rotated in accordance with the change inposition within the channel index channel. As shown, each of thechannels 4322, 4323, 4324, 4325, 4326, and 4327 have been moved oneposition to the left and an eighth channel 4421 has been moved to therightmost position in the channel index channel representation 4320. Inthis regard, the channel index channel representation 4320 has a fixedsize and cannot display a representation of all channels included in thechannel index channel. As such, the channel index channel representation4320 provides a window into a portion of the channel index channelpositioned near the current position in the channel index channel.

The system 200 may use a variety of techniques to select which contentpreview file from the channel to display. For example, the system 200may use the order of episodes in the channel to select the contentpreview file. In this example, when the index channel first displays aparticular channel, the system 200 selects a content preview file forthe first episode arranged in the particular channel. The next time theindex channel displays the particular channel the system may display acontent preview file for the second episode arranged in the particularchannel.

In another example, the content curator associated with the particularchannel may select an order for the content preview files displayed forthe particular channel that diverges from the order defined by theparticular channel. For instance, although it may make sense to view aseries of episodes in a channel chronologically, the content curator mayselect a content preview file from a later episode to be displayed firstbecause the content preview file from the later episode may present amore interesting storyline and may be more likely to get user'sinterested in the channel.

Further, selection of the content preview file to display for a channelmay be randomly selected. For example, when the index channel ispositioned at a particular channel, the system 200 may randomly selectan episode from the particular channel and use a content preview filethat corresponds to the selected episode. In this example, rules mayspecify that all content preview files within the particular channelmust be displayed once prior to any content preview files in theparticular channel being played twice.

Although FIGS. 43 and 44 have been described in terms of the indexchannel moving to the next channel after a single content preview filefrom the channel has been played, other implementations are possible.For instance, the system 200 may play all content preview files from achannel before moving to the next channel. Any number or combination ofcontent preview files may be displayed before moving to the next channeland a content curator and/or the user may define how the system 200plays content preview files in automatically moving through the channelindex channel.

FIG. 45 illustrates an example display of an index channel. The displayof the index channel may be presented on any suitable display device,such as a television, a computer display, a tablet computer, or asmartphone, and may be driven by a media player connected to the contentdelivery network. In the example shown in FIG. 45, the display of theindex channel includes a display area 4510 that displays a contentpreview file and an episode index channel representation 4520 thatcorresponds to a channel. The display area 4510 displays content (e.g.,a video) of a content preview file from one of the episodes shown in theepisode index channel representation 4520. A user may provide inputselecting the display area 4510 to cause a full screen view of theepisode associated with the displayed content preview file to bedisplayed.

The episode index channel representation 4520 illustrates the episodesarranged in the episode index channel representation 4520. In thisexample, the episode index channel representation 4520 includes episodesorganized in a channel, such as a channel to which the user hassubscribed. As shown, the episode index channel representation 4520includes a first episode 4521, a second episode 4522, a third episode4523, a fourth episode 4524, a fifth episode 4525, a sixth episode 4526,and a seventh episode 4527. The double lines in the center of theepisode index channel representation 4520 indicate the episode thatcorresponds to the content preview file being displayed in the displayarea 4510. In the example shown in FIG. 45, a content preview file forthe fourth episode 4524 has just completed playing in the display area4510.

In some implementations, a user may be able to provide input to move theepisodes in the episode index channel representation 4520 to cause adifferent episode to be positioned within the double lines and, as aconsequence, change the position within the episode index channel andcause a content preview file from a different episode to be displayed.In these implementations, the episodes in the episode index channelrepresentation 4520 may be moved using left or right arrow inputs orthrough a click or touch and drag operation.

In some examples, the episode index channel representation 4520automatically rotates to the next episode in the episode index channelas each content preview file completes and the user does not provideinput to view the episode associated with the content preview file. Inthese examples, when a content preview file completes, the system 200may display a message 4530 indicating that the content preview file willbe switched to a new content preview file to the extent the user doesnot provide input selecting to view the episode corresponding to thecontent preview file within a threshold period of time. As shown in FIG.45, the system 200 has detected completion of the content preview fileselected from the fourth episode 4524, displays the message 4530 toindicate that the user has three seconds to select the content previewfile selected from the fourth episode 4524, waits for three seconds forthe user to provide input selecting the content preview file, and thenmoves to a content preview file from the next episode within the episodeindex channel based on a determination that input selecting the contentpreview file has not been received by the expiration of the threeseconds. Providing the message 4530 and waiting a short period of timemay be helpful to alert the user that the content preview file has endedand the system 200 is transitioning to the next episode in the episodeindex channel. The period of time that the system 200 waits prior totransitioning to the next episode may be defined by a content curatorand/or the user.

FIG. 46 illustrates the display of the index channel shown in FIG. 45after the system has moved to the next episode within the episode indexchannel. As shown in FIG. 46, a content preview file from the fifthepisode 4525 has begun playing in the display area 4510. In addition,the episodes included in the episode index channel representation 4520have been rotated in accordance with the change in position within theepisode index channel. As shown, each of the episodes 4522, 4523, 4524,4525, 4526, and 4527 have been moved one position to the left and aneighth episode 4621 has been moved to the rightmost position in theepisode index channel representation 4520. In this regard, the episodeindex channel representation 4520 has a fixed size and cannot display arepresentation of all episodes included in the channel. As such, theepisode index channel representation 4520 provides a window into aportion of the channel positioned near the current position in theepisode index channel.

FIG. 47 illustrates a process 4700 for determining an index channeldefinition. The operations of the process 4700 are described generallyas being performed by the system 200. The operations of the process 4700may be performed by one of the components of the system 200 (e.g., theserver system 210) or may be performed by a combination of thecomponents of the system 200. In some implementations, operations of theprocess 4700 may be performed by one or more processors included in oneor more electronic devices.

The system 200 identifies one or more attributes of the user identity(4702). For example, attributes of the user identity may includechannels/channel sets to which the user identity subscribes, a viewinghistory of the user identity, a history of interaction with points ofinterest by the user identity, a viewing market within which a userassociated with the user identity is located, demographics of the useridentity, a psychographic profile of the user identity, a time of day,or a season of the year.

The system 200 accesses one or more rules related to defining indexchannels (4704). For example, rules related to defining an index channelmay include rules defining what channels/channel sets to include in anindex channel based on one or more of the user identity attributes,rules defining an order of channels/channel sets within an index channelbased on one or more of the user identity attributes, and/or rulesdefining what index channels to provide to the user identity based onone or more of the user identity attributes. For instance, a rule mayrequire that channels/channel sets to which the user identity subscribesmust be included in an index channel. In another example, a rule maydefine one or more channels/channel sets to which the user identity isnot subscribed, but which are similar to the channels/channel sets towhich the user identity is subscribed. In addition, rules may be used tocomply with agreements with content providers or they may be used topromote well performing content providers. Additionally, rules may bedifferent in different viewing markets and geographical regions, forexample. In some implementations, the rules may be prioritized orranked. The rules may be dynamic and adaptive to changes in content,content providers, or advertisers.

The system 200 analyzes the one or more rules related to defining indexchannels with respect to the one or more attributes of the user identity(4706). For example, the system 200 analyzes the one or more rulesrelated to defining index channels with respect to the user identityattributes to determine which rules to apply to the user identityattributes. For example, system 200 may analyze the one or more rules todetermine which rules apply based on the user identity's viewing historyor the channels/channel sets to which the user identity subscribes. Inanother example, system 200 may analyze the one or more rules todetermine which rules apply in the viewing market within which the useridentity is located. Different content providers may serve differentviewing markets, for instance.

The system 200 determines the index channel definition based on theanalysis (4708). For example, system 200 applies the appropriate rulesto the user identity attributes to determine the appropriatechannels/channel sets to include in an index channel for the useridentity, an order of the channels/channel sets in the index channel forthe user identity, and/or which index channels to provide to the useridentity.

The operations described above with respect to FIGS. 37-47 may beperformed on any suitable media device (e.g., a television, a mobiledevice, a computer, etc.) that is capable of outputting the interfacesdescribed with respect to FIGS. 37-47 and receiving input from asuitable input device (e.g., a remote control device, a touch screeninterface, a mouse and keyboard, etc.) in performing the operationsdescribed with respect to FIGS. 37-47. For example, index channels maybe displayed on a television and interacted with through commandsreceived from a remote control device operated by a user perceiving theindex channels. In this example, the user may navigate through the indexchannels by providing input using the remote control device and thenselect episodes and return to index channels (e.g., hyper video) byproviding input using the remote control device. In another example,index channels may be displayed on a mobile device and interacted withthrough input (e.g., touch events, swiping gestures, etc.) applied to atouch screen interface of the mobile device. In this example, the usermay navigate through index channels by providing swiping gestures (e.g.,horizontal swiping gestures in a left or right direction) to the touchscreen interface of the mobile device and then select episodes andreturn to index channels (e.g., hyper video) by providing touch eventsto the touch screen interface of the mobile device. In yet anotherexample, index channels may be displayed on a computer and interactedwith through commands received from a mouse and/or keyboard operated bya user perceiving the index channels. In this example, the user maynavigate through index channels by providing input using the mouseand/or keyboard and then select episodes and return to index channels(e.g., hyper video) by providing input using the mouse and/or keyboard.

FIG. 48 is a schematic diagram of an example of a generic computersystem 4800. The system 4800 can be used for the operations described inassociation with the processes 300, 400, 500, 600, 700, 800, 1100, 1200,1400, 1600, 2600, 2700, 2800, 3000, 3200, 3600, 3700, and 4700 accordingto one implementation. For example, the system 4800 may be included ineither or all of the server system 210 and the server 216.

The system 4800 includes a processor 4810, a memory 4820, a storagedevice 4830, and an input/output device 4840. Each of the components4810, 4820, 4830, and 4840 are interconnected using a system bus 4850.The processor 4810 is capable of processing instructions for executionwithin the system 4800. In one implementation, the processor 4810 is asingle-threaded processor. In another implementation, the processor 4810is a multi-threaded processor. The processor 4810 is capable ofprocessing instructions stored in the memory 4820 or on the storagedevice 4830 to display graphical information for a user interface on theinput/output device 4840.

The memory 4820 stores information within the system 4800. In oneimplementation, the memory 4820 is a computer-readable medium. In oneimplementation, the memory 4820 is a volatile memory unit. In anotherimplementation, the memory 4820 is a non-volatile memory unit.

The storage device 4830 is capable of providing mass storage for thesystem 4800. In one implementation, the storage device 4830 is acomputer-readable medium. In various different implementations, thestorage device 4830 may be a floppy disk device, a hard disk device, anoptical disk device, or a tape device.

The input/output device 4840 provides input/output operations for thesystem 4800. In one implementation, the input/output device 4840includes a keyboard and/or pointing device. In another implementation,the input/output device 4840 includes a display unit for displayinggraphical user interfaces.

The features described can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. The apparatus can be implemented in a computerprogram product tangibly embodied in an information carrier, e.g., in amachine-readable storage device, for execution by a programmableprocessor; and method steps can be performed by a programmable processorexecuting a program of instructions to perform functions of thedescribed implementations by operating on input data and generatingoutput. The described features can be implemented advantageously in oneor more computer programs that are executable on a programmable systemincluding at least one programmable processor coupled to receive dataand instructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program can be written in anyform of programming language, including compiled or interpretedlanguages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both. Theelements of a computer may include a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer will also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the features can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.

The features can be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, e.g., a LAN, a WAN, and thecomputers and networks forming the Internet.

The computer system can include clients and servers. A client and serverare generally remote from each other and typically interact through anetwork, such as the described one. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. Accordingly, otherimplementations are within the scope of the following claims.

What is claimed is:
 1. A method of providing an index channel within acontent delivery network, the method comprising: receiving, using a useridentity, input to display a first index channel associated with acontent delivery network; receiving one or more inputs that define thefirst index channel, the one or more inputs that define the first indexchannel including an input defining a number of preview files to displayin each set of content preview files and a selection of a sequentialorder or random order to display the preview files in each set ofcontent preview files; storing, as a first index channel definitionassociated with the user identity, data from the one or more inputs thatdefine the first index channel; based on the input to display the firstindex channel associated with the content delivery network, accessingthe first index channel definition associated with the user identity,the first index channel definition defining a first sequence of a firstset of content preview files for content files organized within channelsavailable through the content delivery network, the first set of contentpreview files including video files; based on the accessed first indexchannel definition, controlling display of the first index channel bydisplaying the first set of content preview files in the first sequencedefined by the accessed first index channel definition, the controllingincluding: displaying, responsive to receiving the input to display thefirst index channel, a first video file corresponding to a first contentpreview file included in the first set of content preview files, andbased on a determination that the number of preview files to display ineach set of content preview files is satisfied and that a selection hasnot been received by a time after display of the first video file hasended, transitioning to display of a second video file corresponding toa second content preview file included in a second index channel that isnested within the first index channel, the second index channel beingdefined by a second index channel definition; during display of thesecond content preview file, receiving a selection of the second contentpreview file; and displaying, responsive to receiving the selection ofthe second content preview file, a third video file included in thesecond index channel.
 2. The method of claim 1, wherein accessing thefirst index channel definition associated with the user identitycomprises retrieving the stored first index channel definition from anelectronic storage.
 3. The method of claim 1, wherein controllingdisplay of the first index channel by displaying the first set ofcontent preview files in the first sequence defined by the accessedfirst index channel definition comprises: after completion of the firstvideo file corresponding to the first content preview file in the firstsequence defined by the accessed first index channel definition,controlling display of an interface element that enables a userassociated with the user identity to provide an input to view a firstcontent file associated with the first content preview file; for apredefined period of time after completion of the first video filecorresponding to the first content preview file, monitoring for theinput to view the first content file associated with the first contentpreview file; based on the monitoring, determining that the input toview the first content file associated with the first content previewfile was not received within the predefined period of time; and based onthe determination that the input to view the first content fileassociated with the first content preview file was not received withinthe predefined period of time and that the number of preview files todisplay in each set of content preview files is satisfied: identifyingthe second content preview file, removing display of the interfaceelement that enables the user associated with the user identity toprovide the input to view the first content file associated with thefirst content preview file, and controlling the display of the secondvideo file corresponding to the second content preview file.
 4. Themethod of claim 1, further comprising: in response to receiving an inputto return to display of the first index channel, returning to display ofthe first index channel at a position within the first sequence of thefirst set of content preview files defined by the accessed first indexchannel definition.
 5. The method of claim 4, wherein returning todisplay of the first index channel at the position within the firstsequence of the first set of content preview files defined by theaccessed first index channel definition comprises: during display of thethird video file, receiving the input to return to display of the firstindex channel; and based on the input to return to the display of thefirst index channel, returning to display of the first index channel atthe position within the first sequence of the first set of contentpreview files defined by the accessed first index channel definition. 6.The method of claim 4, wherein returning to the display of the firstindex channel at the position within the first sequence of the first setof content preview files defined by the accessed first index channeldefinition comprises: receiving the input to return to display of thefirst index channel upon detecting completion of playback of the thirdvideo file; and based on the input to return to display of the firstindex channel and the completion of the third video file, returning todisplay of the first index channel at the position within the firstsequence of the first set of content preview files defined by theaccessed first index channel definition.
 7. The method of claim 4,further comprising: based on the received selection of the secondcontent preview file, storing, in an electronic storage, the positionwithin the first sequence of the first set of content preview filesdefined by the accessed first index channel definition at a time of theselection, wherein returning to display of the first index channel atthe position within the first sequence of the first set of contentpreview files defined by the accessed first index channel definitioncomprises: accessing, from the electronic storage, the stored positionwithin the first sequence of the first set of content preview filesdefined by the accessed first index channel definition at the time ofthe selection, and using the stored position within the first sequenceof the first set of content preview files defined by the accessed firstindex channel definition at the time of the selection to return to theposition within the first sequence of the first set of content previewfiles defined by the accessed first index channel definition thatcorresponds to the received selection of the second content previewfile.
 8. The method of claim 4: wherein the position within the firstindex channel is encapsulated in a location address of the selectedsecond content preview file; and wherein returning to display of thefirst index channel at the position within the first sequence of thefirst set of content preview files defined by the accessed first indexchannel definition comprises: identifying the position within the firstindex channel encapsulated in the location address of the selectedsecond content preview file, and using the identified position to returnto the position within the first sequence of the first set of contentpreview files defined by the accessed first index channel definition. 9.The method of claim 4, wherein returning to display of the first indexchannel at the position within the first sequence of the first set ofcontent preview files defined by the accessed first index channeldefinition comprises: identifying a next content preview file thatfollows the first content preview file in the first sequence of thefirst set of content preview files defined by the accessed first indexchannel definition, and returning to display of the first index channelby displaying the next content preview file.
 10. The method of claim 4,wherein returning to display of the first index channel at the positionwithin the first sequence of the first set of content preview filesdefined by the accessed first index channel definition comprises:determining a position within the first index channel and content filesof the first set of the content preview files displayed subsequent tothe received selection, the determined position corresponding to a nextunviewed first content preview file in the first sequence that mostclosely follows the displayed first video file corresponding to thefirst content preview file and does not correspond to any of the contentfiles displayed subsequent to the received selection, and returning todisplay of the first index channel by displaying the next unviewedcontent preview file.
 11. The method of claim 4, wherein returning todisplay of the first index channel at a position within the firstsequence of the first set of content preview files defined by theaccessed first index channel definition comprises: receiving, from aremote control device operated by a user associated with the useridentity, one or more commands selecting to return to the first indexchannel; and based on the one or more commands selecting to return tothe first index channel, returning to display of the first index channelat the position within the first sequence of the first set of contentpreview files defined by the accessed first index channel definition.12. The method of claim 4: wherein controlling display of the firstindex channel comprises controlling display of the first index channelon a television that is controlled by a remote control device; whereinreceiving the selection of the second content preview file comprisesreceiving, from the remote control device, the selection to view thesecond content preview file; wherein controlling display of the secondindex channel comprises controlling display of the second index channelon the television; and wherein returning to display of the first indexchannel at a position within the first sequence of the first set ofcontent preview files defined by the accessed first index channeldefinition comprises: receiving, from the remote control device, theinput to return to display of the first index channel, and based on theinput to return to display of the first index channel, returning todisplay, on the television, of the first index channel at the positionwithin the first sequence of the first set of content preview filesdefined by the accessed first index channel definition.
 13. The methodof claim 4: wherein controlling display of the first index channelcomprises controlling display of the first index channel on a mobiledevice that is controlled by a touch screen interface; wherein receivingthe selection of the second content preview file comprises receiving afirst input applied to the touch screen interface to select the secondcontent preview file; wherein controlling display of the second indexchannel comprises controlling display of the second index channel on themobile device; and wherein returning to display of the first indexchannel at a position within the first sequence of the first set ofcontent preview files defined by the accessed first index channeldefinition comprises: receiving, from the touch screen interface, theinput to return to display of the first index channel, and based on theinput to return to display of the first index channel, returning todisplay, on the mobile device, of the first index channel at theposition within the first sequence of the first set of content previewfiles defined by the accessed first index channel definition.
 14. Themethod of claim 4: wherein controlling display of the first indexchannel comprises controlling display of the first index channel on acomputer that is controlled by a mouse and keyboard; wherein receivingthe selection of the second content preview file comprises receiving,from at least one of the mouse and keyboard, the selection of the secondcontent preview file; wherein controlling display of the second indexchannel comprises controlling display of the second index channel on thecomputer; and wherein returning to display of the first index channel ata position within the first sequence of the first set of content previewfiles defined by the accessed first index channel definition comprises:receiving, from at least one of the mouse and keyboard, the input toreturn to display of the first index channel, and based on the input toreturn to display of the first index channel, returning to display, onthe computer, of the first index channel at the position within thefirst sequence of the first set of content preview files defined by theaccessed first index channel definition.
 15. The method of claim 1,wherein accessing the first index channel definition associated with theuser identity comprises accessing settings defined by an operator of thecontent delivery network.
 16. The method of claim 1, wherein accessingthe first index channel definition associated with the user identitycomprises accessing settings defined by a content curator associatedwith multiple channels within the content delivery network, the settingsbeing implemented for the multiple channels within the content deliverynetwork defined by the content curator.
 17. The method of claim 1:wherein the first index channel definition is related to a singlechannel within the content delivery network; and wherein controllingdisplay of the first index channel by displaying the first set ofcontent preview files in the first sequence defined by the accessedfirst index channel definition comprises displaying content previewfiles from the single channel within the content delivery network suchthat content preview files that correspond to content files organized inthe single channel are displayed.
 18. The method of claim 1, furthercomprising: identifying one or more attributes of the user identity;accessing one or more rules related to defining index channels;analyzing the one or more rules related to defining index channels withrespect to the one or more attributes of the user identity and thereceived one or more inputs that define the first index channel; andgenerating the first index channel definition based on the analysis. 19.The method of claim 18, wherein determining the first index channeldefinition comprises determining which content preview files to includein the first index channel and determining a sequence for displaying thedetermined content preview files in the first index channel.
 20. Themethod of claim 18: wherein identifying one or more attributes of theuser identity comprises identifying subscriptions associated with theuser identity for channels in the content delivery network andidentifying a market within which the user identity is located; whereinanalyzing the one or more rules related to defining index channels withrespect to the one or more attributes of the user identity comprisesanalyzing the one or more rules related to defining index channels withrespect to the identified subscriptions and the identified market; andwherein generating the first index channel definition comprisesgenerating the first index channel definition based on the identifiedsubscriptions and the identified market.
 21. The method of claim 1,wherein receiving the selection of the second content preview filecomprises receiving, from a remote control device operated by a userassociated with the user identity, one or more commands selecting toview the second content preview file that corresponds to the secondvideo file being displayed in accordance with the accessed first indexchannel definition and the second index channel definition.
 22. Themethod of claim 1, further comprising: receiving, from a remote controldevice operated by a user associated with the user identity, one or morecommands navigating through the first index channel; and based on theone or more commands navigating through the first index channel,updating display of the first index channel in accordance with thenavigation through the first index channel.
 23. The method of claim 1,further comprising: returning, from display of the third video file, todisplay of the second index channel at a position within a secondsequence of a second set of content preview files defined by the secondindex channel definition; and returning, from display of the secondindex channel, to display of the first index channel.
 24. The method ofclaim 1, wherein the first index channel includes at least two levels ofadditional index channels nested within the first index channel, furthercomprising: navigating through the at least two levels of additionalindex channels nested within the first index channel by stepping throughconsecutive levels of the at least two additional index channels nestedwithin the first index channel and then returning to the first indexchannel by stepping through the consecutive levels of the at least twoadditional index channels in a reverse order.
 25. The method of claim 1,further comprising: based on a determination that a selection has notbeen received by a time after display of the third video file has endedand that the number of preview files to display in each set of contentpreview files is not satisfied, transitioning to display of a fourthvideo file corresponding to a fourth content preview file included in asecond set of content preview files of the second index channel.
 26. Themethod of claim 25, further comprising: during display of the fourthvideo file, receiving the input to return to display of the first indexchannel; and based on the input to return to display of the first indexchannel, returning to display of the first index channel at the positionwithin the first sequence of the first set of content preview filesdefined by the accessed first index channel definition.
 27. A systemcomprising: at least one computer; and at least one computer-readablemedium coupled to the at least one computer having instructions storedthereon which, when executed by the at least one computer, causes the atleast one computer to perform operations comprising: receiving, using auser identity, input to display a first index channel associated with acontent delivery network; receiving one or more inputs that define thefirst index channel, the one or more inputs that define the first indexchannel including an input defining a number of preview files to displayin each set of content preview files and a selection of a sequentialorder or random order to display the preview files in each set ofcontent preview files; storing, as a first index channel definitionassociated with the user identity, data from the one or more inputs thatdefine the first index channel; based on the input to display the firstindex channel associated with the content delivery network, accessingthe first index channel definition associated with the user identity,the first index channel definition defining a first sequence of a firstset of content preview files for content files organized within channelsavailable through the content delivery network, the first set of contentpreview files including video files; based on the accessed first indexchannel definition, controlling display of the first index channel bydisplaying the first set of content preview files in the first sequencedefined by the accessed first index channel definition, the controllingincluding: displaying, responsive to receiving the input to display thefirst index channel, a first video file corresponding to a first contentpreview file included in the first set of content preview files, andbased on a determination that the number of preview files to display ineach set of content preview files is satisfied and that a selection hasnot been received by a time after display of the first video file hasended, transitioning to display of a second video file corresponding toa second content preview file included in a second index channel that isnested within the first index channel, the second index channel beingdefined by a second index channel definition; during display of thesecond content preview file, receiving a selection of the second contentpreview file; and displaying, responsive to receiving the selection ofthe second content preview file, a third video file included in thesecond index channel.
 28. At least one non-transitory computer-readablestorage medium encoded with at least one computer program comprisinginstructions that, when executed, operate to cause a computer to performoperations comprising: receiving, using a user identity, input todisplay a first index channel associated with a content deliverynetwork; receiving one or more inputs that define the first indexchannel, the one or more inputs that define the first index channelincluding an input defining a number of preview files to display in eachset of content preview files and a selection of a sequential order orrandom order to display the preview files in each set of content previewfiles; storing, as a first index channel definition associated with theuser identity, data from the one or more inputs that define the firstindex channel; based on the input to display the index channelassociated with the content delivery network, accessing the first indexchannel definition associated with the user identity, the first indexchannel definition defining a first sequence of a first set of contentpreview files for content files organized within channels availablethrough the content delivery network, the first set of content previewfiles including video files; based on the accessed first index channeldefinition, controlling display of the first index channel by displayingthe first set of content preview files in the first sequence defined bythe accessed first index channel definition, the controlling including:displaying, responsive to receiving the input to display the first indexchannel, a first video file corresponding to a first content previewfile included in the first set of content preview files, and based on adetermination that the number of preview files to display in each set ofcontent preview files is satisfied and that a selection has not beenreceived by a time after display of the first video file has ended,transitioning to display of a second video file corresponding to asecond content preview file included in a second index channel that isnested within the first index channel, the second index channel beingdefined by a second index channel definition; during display of thesecond content preview file, receiving a selection of the second contentpreview file; and displaying, responsive to receiving the selection ofthe second content preview file, a third video file included in thesecond index channel.